私の知る限り、両者は同じ目的を果たします。 @PathVariable
はSpring MVCからのものであり、@PathParam
はJAX-RSからのものです。これに関する洞察はありますか?
@ PathVariable および @ PathParam は両方とも RIテンプレート からパラメーターにアクセスするために使用されます
違い:
PathParam:
メソッドの引数にURIパラメーター値を割り当てます。春には、@RequestParam
。
例えば。、
http://localhost:8080/books?isbn=1234
@GetMapping("/books/")
public Book getBookDetails(@RequestParam("isbn") String isbn) {
PathVariable:
メソッドの引数にURIプレースホルダー値を割り当てます。
例えば。、
http://localhost:8080/books/1234
@GetMapping("/books/{isbn}")
public Book getBook(@PathVariable("isbn") String isbn) {
@ PathParamは、変数URIパスフラグメントをメソッド呼び出しにマップできるようにするパラメーターアノテーションです。
@Path("/library")
public class Library {
@GET
@Path("/book/{isbn}")
public String getBook(@PathParam("isbn") String id) {
// search my database and get a string representation and return it
}
}
詳細については、 JBoss DOCS
Spring MVCでは、メソッド引数に@ PathVariable注釈を使用して、詳細についてURIテンプレート変数の値にバインドできます。 春ドキュメント
@PathParam
は、変数URIパスフラグメントをメソッド呼び出しにマップできるようにするパラメーターアノテーションです。
@PathVariable
は、URIからプレースホルダーを取得することです(SpringはそれをURIテンプレートと呼びます)