6
我正在尝试生成搜索资源的链接。所以,我想创建,提供了一个链接到我的搜索资源:如何用Spring HATEOAS添加查询字符串参数?
POST /resourcesearch
{param1: "value1",param2:"value2"}
的反应应该是:
{"links":[
{
"rel":"self",
"href":"http://localhost:8080/resourcesearch"
},
{
"rel":"resources",
"href":"http://localhost:8080/resources?param1=value1¶m2=value2"
}
}
这里是我的代码:
@Controller
@RequestMapping("/resourcesearch")
public class ResourceSearchController{
@RequestMapping(method = RequestMethod.POST)
public ResponseEntity<ResourceSupport> createResourceSearch(@RequestBody ResourceDTO dto){
ResourceSupport resource = new ResourceSupport();
//... do something here to build query string based on "dto"
resource.add(linkTo(ResourceController.class).withRel("resources"));
return new ResponseEntity<ResourceSupport>(resource, HttpStatus.CREATED);
}
}
===========================================
@Controller
@RequestMapping("/resources")
public class ResourceController{
@RequestMapping(method = RequestMethod.GET)
public ResponseEntity<CollectionDTO> listResources(@RequestParam("param1") String param1, @RequestParam("param2") String param2){
...
}
}
的东西是我不知道如何将查询字符串参数添加到该行中的url:
resource.add(linkTo(ResourceController.class).withRel("resources"));
因为该行的结果是:
{
"links" : [
{
"rel":"resources",
"href":"http://localhost:8080/resources"
}
]
}
任何想法?
在ResourceController类的@RequestMapping中存在拼写错误。我编辑的代码是一致的。 – Neuquino