我有URL路徑如何從REST URL獲取路徑變量?
/customer/7854/order/125
如何獲得customerID
7854
和orderID
125
? 目前我通過分割完整的字符串來處理這個問題,但我不喜歡它。
有替代品嗎?
我有URL路徑如何從REST URL獲取路徑變量?
/customer/7854/order/125
如何獲得customerID
7854
和orderID
125
? 目前我通過分割完整的字符串來處理這個問題,但我不喜歡它。
有替代品嗎?
如果你使用Spring REST,你可以使用@PathVariable( 「ID」)長ID。例如,對於多個參數:
@RequestMapping(value = "/ex/foos/{fooid}/bar/{barid}")
@ResponseBody
public String getPathValues
(@PathVariable long fooid, @PathVariable long barid) {
return "Get a specific Bar with id=" + barid + " from a Foo with id=" + fooid;
}
正如您在評論中所說的,您使用的是Spring MVC。
幸運的是,它提供了將URL參數映射到值的非常好的方法!
@RequestMapping(value = "/{bookmarkId}", method = RequestMethod.GET)
正如你所看到的,在動作上,你可以指定bookmarkId
。然後你指定參數..
Bookmark readBookmark(@PathVariable Long bookmarkId)
現在你可以訪問bookmarkId
就好像它是任何其他值。
編輯
所以整個事情,從例子中取,應該是這樣的:
@RequestMapping(value = "/{bookmarkId}", method = RequestMethod.GET)
Bookmark readBookmark(@PathVariable String userId, @PathVariable Long bookmarkId) {
this.validateUser(userId);
return this.bookmarkRepository.findOne(bookmarkId);
}
你用什麼來設置端點? Spring MVC? – christopher
確實:Spring MVC。 – Dai