(1)是否可以像在Ex.2中一样将JSON对象传递给url?
否,因为
http://localhost:8080/api/v1/mno/objectKey/{"id":1,"name":"Saif"}这不是有效的网址。如果您想以RESTful方式进行操作,请使用
http://localhost:8080/api/v1/mno/objectKey/1/Saif,并按如下所示定义您的方法:
@RequestMapping(path = "/mno/objectKey/{id}/{name}", method = RequestMethod.GET)public Book getBook(@PathVariable int id, @PathVariable String name) { // pre here}(2)如何传递和解析示例1中的参数?
只需添加两个请求参数,然后给出正确的路径即可。
@RequestMapping(path = "/mno/objectKey", method = RequestMethod.GET)public Book getBook(@RequestParam int id, @RequestParam String name) { // pre here}更新 (来自评论)
如果我们有一个复杂的参数结构怎么办?
"A": [ { "B": 37181, "timestamp": 1160100436, "categories": [ { "categoryID": 2653, "timestamp": 1158555774 }, { "categoryID": 4453, "timestamp": 1158555774 } ]} ]
将其
POST与JSON数据一起发送到请求正文(而不是URL)中,并指定的内容类型
application/json。
@RequestMapping(path = "/mno/objectKey", method = RequestMethod.POST, consumes = "application/json")public Book getBook(@RequestBody ObjectKey objectKey) { // pre here}


