fra*_*nds 6 java spring spring-mvc
我想知道是否可以RestController仅基于请求正文将相同的 URL 映射到类中的不同方法。例如:
@RequestMapping(value="/delete", method=RequestMethod.POST )
public void delete(@RequestBody String id) {
//do something
}
@RequestMapping(value="/delete", method=RequestMethod.POST )
public void delete(@RequestBody Book book) {
//do something
}
Run Code Online (Sandbox Code Playgroud)
请求正文将始终是 JSON 有效负载。如果是{"id":"foo"}我想要调用第一个方法。如果请求正文是:
{
"title":"Spring Guide",
"author":"John Doe"
}
Run Code Online (Sandbox Code Playgroud)
我想调用第二种方法。这可能吗?
仅通过有效负载是无法区分的。
根据我在这里所做的测试以及 M. Deinum 和 Ali Dehghani 的回应,我认为最好的方法是为每种情况设置不同的 url。因此,a/books/{id}通过 id 进行删除,a 则/books通过主体中的对象 JSON 来删除传递的对象。感谢所有评论。
| 归档时间: |
|
| 查看次数: |
4663 次 |
| 最近记录: |