2017-01-22 76 views
0

我有以下請求映射:春天REST API未映路徑變量正確

@RequestMapping(value = {"/product/{id}-{name}"}, method = RequestMethod.GET) 

當我執行對這個端點的GET與「/產品/ l產品名稱,在這裏」,我得到以下錯誤:

Failed to convert value of type 'java.lang.String' to required type 'int'; nested exception is java.lang.NumberFormatException

任何人都可以建議我應該做些什麼來解決這個問題?我認爲Spring會在第一個短劃線之前取任何東西作爲ID以及之後的任何名稱,但事實並非如此。

如果我使用/ product/1名稱進行GET,它可以正常工作。如果路徑變量包含破折號,它似乎是一些奇怪的行爲。

感謝

+0

你'-'分隔符的期望類型是一個問題。只需將url更改爲:''/ product/{id}/{name}「'你應該沒問題。 –

回答

0

添加綁定註釋@PathVariable並將其分配給變量

@RequestMapping(value = "/product/{id}/{name}", method = RequestMethod.GET) 
public void yourMethod(@PathVariable("id") Long id, @PathVariable("name") String name) 
{ 
... 
}