検索リソースへのリンクを生成しようとしています。そこで、検索へのリンクを提供するリソースを作成したいと思います。
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"
}
]
}
何か案は?