@RequestParam と @PathVariable の違い 質問する

@RequestParam と @PathVariable の違い 質問する

特殊文字を処理する場合の と@RequestParamの違いは何ですか?@PathVariable

+@RequestParamスペースとして受け入れられました。

の場合@PathVariable+は として受け入れられました+

ベストアンサー1

URL がhttp://localhost:8080/MyApp/user/1234/invoices?date=12-05-20132013 年 12 月 5 日のユーザー 1234 の請求書を取得する場合、コントローラー メソッドは次のようになります。

@RequestMapping(value="/user/{userId}/invoices", method = RequestMethod.GET)
public List<Invoice> listUsersInvoices(
            @PathVariable("userId") int user,
            @RequestParam(value = "date", required = false) Date dateOrNull) {
  ...
}

また、リクエストパラメータはオプションであり、Spring 4.3.3以降ではパス変数もオプションとなる。オプションとしても使用可能ただし、URL パスの階層が変更され、リクエスト マッピングの競合が発生する可能性があるので注意してください。たとえば、/user/invoicesユーザーの請求書nullや、ID が「invoices」のユーザーの詳細が提供されるでしょうか?

おすすめ記事