2017-11-16 6 views
0

私はSpringbootのaplictaionにコントローラを書きます。私は.../data/search?name=abcとしてURLをデバッグモードでこれを実行するとAfunctionコールが@PathParam引数と関数引数を残りのコントローラで同じにすることは必須ですか?

@GetMapping("/data/search") 
    public ResponseEntity<Object> searchData(@PathParam("name") String dataName, 
    .... 

のように見える、私は変数dataNameためnull値を取得します。私は、変数名にdocsを1として
dataName->name

を更新した場合の値abcを取得するのに対し 、私は@QueryParamを使用している必要がありますが、それはどちらかの違いはありません。

変数名をparam名と同じにする必要がありますか?

+0

私はあなたが@RequestParamをしたいと思います。 – onnoweb

+0

はい、 '@ RequestParam'は私にとってそれを行います。しかし、私が引用した文書には、@ QueryParamを使った例がはっきりと述べられています。 –

+0

ありがとう@onnoweb。これは、Webリクエストパラメータをメソッドパラメータにバインドするためのspringbootからのものです。 –

答えて

0

@PathParamは必須で、パスで渡される必要があります。/ data/search/{name}にしてからアクセスできます。パスパラメータにはデフォルトがありません。 EX用

:一方の@RequestParamでhttp://serverhost/data/search/test

は、デフォルト値を持つことができ、元のためにあなたのURL

ではオプションになりますhttp://serverhost/data/search?name=test

関連する問題