@Controller,@component,@Repository,@RequestParam,@RequestBody,@RequestHeader等注釈第三章


@Controller,@RequestParam,@RequestBody,@RequestHeader等注釈第三章
  • @RequestParam
  • @RequestBody
  • @RequestHeader
  • @component
  • @Controller
  • @Service
  • @Repository


  • 第一章:link.@ResponseBody,@RequestMapping,@RequiresPermissions等詳しくはこちら
    第二篇:link.@Controller,@RequiresGuest,@RequiresUser等详细解第二章
    第三篇:link.@Controller,@RequestParam,@RequestBody,@RequestHeader等注釈第三章
    @RequestParam
    public String getUserId(@RequestParam(value="userName" ,required =false ) String userName)
    

    @RequestParamはパラメータを渡すために使用されます.value:パラメータ名、すなわち入力された要求パラメータ名、例えばuserNameが要求を表すパラメータ領域の名前がusernameのパラメータの値required:デフォルトはtrueで、要求に必ず対応するパラメータがあることを示します.そうしないと404エラーコードが報告されます.
    @RequestBody
    @RequestBodyは主にフロントエンドがバックエンドに伝達するjson文字列のデータ(リクエストボディのデータ)を受信するために使用される.GET方式は要求体がないので@RequestBodyを用いてデータを受信する場合,フロントエンドはGET方式でデータをコミットするのではなくPOST方式でコミットする.バックエンドの同じ受信方法では、@RequestBodyと@RequestParam()は同時に使用でき、@RequestBodyは最大1つしか使用できませんが、@RequestParam()は複数使用できます.注意:リクエストは1つ、RequestBodyは1つのみです.1つのリクエストで、複数のRequestParamを持つことができます.注意:@RequestParam()と@RequestBodyを同時に使用する場合、@RequestParam()で指定したパラメータは、通常の要素、配列、集合、オブジェクトなどです(つまり、@RequestBodyと@RequestParam()同時に使用できる場合、元SpringMVCがパラメータを受信するメカニズムは変わらないが、RequestBodyが受信するのは要求体の中のデータであり、RequestParamが受信するのはkey-valueの中のパラメータであるため、切断面で処理され、通常の要素、配列、集約、オブジェクトなどで受信できる).すなわち、パラメータがリクエストボディに置かれ、アプリケーション/jsonがバックグラウンドに転送される場合、バックグラウンドは@RequestBodyで受信されます.リクエストボディに入れていない場合は、バックグラウンドでフロントから渡されたパラメータを受信する場合は、@RequestParamで受信するか、パラメータ前に何も書かなくても受信できます.注意:パラメータの前に@RequestParam(xxx)と書かれている場合は、フロントエンドに対応するxxx名が必要です(値があるかどうかにかかわらず、当然、その注釈のrequired属性を設定することで伝達する必要があるかどうかを調整できます)、xxx名がない場合は、要求がエラーになります.注意:パラメータの前に@RequestParam(xxx)と書かないと、フロントエンドに対応するxxxの名前があるかどうかを指定できます.xxx名があれば、自動的に一致します.なければ、リクエストも正しく送信できます.追注:ここはfeign消費サービス時とは違います.Feignコンシューマサービスの場合、パラメータの前に何も書かないと@RequestBodyがデフォルトになります.からhttps://blog.csdn.net/justry_deng/article/details/80972817
    @RequestHeader
    @RequestHeaderはリクエストヘッダのデータを取得し、パラメータvalueの値を指定することでリクエストヘッダで指定したパラメータ値を取得します.その他のパラメータの使い方は@RequestParamと全く同じです
    @component
    @componentは他の3つのメタ注釈,@Repository,@Service,@Controllerは@Componentの特性化例,@Repositoryは永続層,@Serviceはサービス層,@Controllerは制御層である.
    @Controller
    SpringMvc 3階層アーキテクチャに適用される制御層.@Controllerを使用してControllerクラスをタグ付けし、@RequestMappingや@RequestParamなどの他の注釈を使用して、URLリクエストとControllerメソッド間のマッピングを定義することで、Controllerが外部にアクセスできるようにします.@Controllerはコントローラクラスを定義するだけで,@RequestMapping注釈を使用する方法が要求を処理するプロセッサである.
    @Service
    SpringMvc 3階層アーキテクチャに適用されるビジネスロジック層、serviceまたはmanager層
    @Repository
    SpringMvc 3層アーキテクチャに適用される永続層は、データアクセスコンポーネント、すなわちDAOコンポーネントを寸法するために使用されます.データベースとのインタラクションは,componentの役割に加えて@Repositoryがプラットフォーム固有の異常をキャプチャする役割を果たす.
    第1編:link.@ResponseBody,@RequestMapping,@RequiresPermissions等詳細第1章第2編:link.@Controller,@RequiresGuest,@RequiresUser等詳細第2章第3編:link.@Controller,@RequestParam,@RequestBody,@RequestHeader等注釈第3章