我正在构建一个宁静的服务,该服务需要接受任意数量的参数,而不是下面示例中的参数.
假设以下服务程序
@RequestMapPing("/start/ID/{ID}",RequestMethod.GET)public voID startService(@PathVariable String ID) {...}
有一个基于RestTemplate
的客户端实现
restTemplate.getForObject("/start/ID/{ID}",null,ID);
问题:但是考虑到可能有数千个ID,我必须使用哪种宁静的方法在一个请求中使用RestTemplate
发送所有参数?我已经看到了建议
>将请求正文添加到GET请求-RestTemplate
似乎不可能吗?
>在ID中使用分隔符(例如ID1 | ID2 | …. | IDn)-好像是骇客
>首先放置参数,然后发出GET以引用ID-重复请求,似乎不直观
>添加多个网址参数(?ID = foo& ID = bar&…..& ID = foobar)
我知道以前曾问过类似的问题(calling-a-restful-service-with-many-parameters、how-to-create-rest-urls-without-verbs、can-you-build-a-truly-restful-service-that-takes-many-parameters),但我发现很难找到满意的答案,或者至少找不到基于RestTemplate
的答案.最佳答案您可以对所有ID使用查询参数:
/search?IDs=1,2,3,4,5,6,7
然后用逗号标记,然后进行搜索.请记住,如果将其作为GET查询字符串参数发布,则将受到最大URL长度的限制. 总结
以上是内存溢出为你收集整理的java-具有多个参数的RESTful Spring服务 全部内容,希望文章能够帮你解决java-具有多个参数的RESTful Spring服务 所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)