@RequestMapping
RequestMappingは、クラスやメソッドのために使用することができ、注釈リクエストアドレスマッピングするための処理です。クラスに対して、要求クラスに応じて、すべてのメソッドは、親パスとしてアドレスで表されています。
RequestMappingはのは、以下の三つのカテゴリーに彼女を入れてみましょう、6つの属性を指摘しています。
値は、方法
値:リクエストの物理アドレスを指定し、アドレスはURIテンプレートモードを指定することができる(後述)。
方法:この方法は、要求のタイプを指定し、GET、POST、PUT、DELETEなど。
消費は、生産します
消費:コンテンツタイプ(Content-Type)、例えば、アプリケーション/ JSON、text / htmlのプロセスを指定した要求を提出します。
生成:返される要求のコンテンツタイプのみならリクエストヘッダ(承諾)を入力するために戻ります指定された型を含みます。
パラメータ、ヘッダ
params:リクエストが処理方法を許可する前に、特定のパラメータ値を含んでいなければならない指定します。
ヘッダー:要求は、要求を処理するためにこのメソッドために、特定の指定されたヘッダ値を含んでいなければならない指定。
例:
値/方法の例
デフォルトRequestMapping(「.... strが...」)値の値です。
@Controller @RequestMapping( "/予定" ) パブリック クラスAppointmentsController { プライベートAppointmentBook appointmentBook。 @Autowired 公共AppointmentsController(AppointmentBook appointmentBook){ この .appointmentBook = appointmentBook。 } @RequestMapping(方法 = RequestMethod.GET) パブリックマップの<string、予定> (GET){ 戻り)(appointmentBook.getAppointmentsForTodayします。 } @RequestMapping(値 = "/ {日}"、方法=RequestMethod.GET) 公共の地図<文字列、予定> getForDay(@PathVariable @DateTimeFormat(ISO = ISO.DATE)日付の日、モデルのモデル){ 返すappointmentBook.getAppointmentsForDay(日)。 } @RequestMapping(値 = "/新しい"メソッド= RequestMethod.GET) 公衆AppointmentForm getNewFormは(){ 戻り 新しい(AppointmentForm)を、 } @RequestMapping(方法 = RequestMethod.POST) パブリック文字列を追加(@Valid AppointmentFormアポイントメント、BindingResult結果){ 場合(result.hasErrors()){ リターン「新しい予定/」; } appointmentBook.addAppointment(予定)。 リターンは、「リダイレクト:/予定を」; } }
URIの値は、次の3つのカテゴリです。
A)特定正常値として指定することができます。
B)変数を含むクラス値(パス変数とURIテンプレートパターン)として指定することができます。
C)は、正規表現(正規表現とURIテンプレートパターン)を有するクラス値として指定することができます。
例B)
@RequestMapping(値= "/オーナー/ {OWNERID}"、メソッド= RequestMethod.GET) パブリック文字列findOwner(@PathVariable列OWNERID、モデルモデル){ 所有者 = ownerService.findOwner(OWNERID)。 model.addAttribute( "所有者" 、所有者)。 リターン「displayOwner」。 }