Java 如何使用SpringRESTOperations在单元测试中获得发送的PageRequest对象?
使用最新的Spring MVC(3.1.2版本) 我有一个可分页的REST方法,类似于:Java 如何使用SpringRESTOperations在单元测试中获得发送的PageRequest对象?,java,spring,spring-mvc,Java,Spring,Spring Mvc,使用最新的Spring MVC(3.1.2版本) 我有一个可分页的REST方法,类似于: @RequestMapping(value = "/myThings", method = RequestMethod.GET) public @ResponseBody Page<MyThings> findMyThings(@Valid PageRequest pageRequest) { Page<MyThings> myThings = myService.findM
@RequestMapping(value = "/myThings", method = RequestMethod.GET)
public @ResponseBody
Page<MyThings> findMyThings(@Valid PageRequest pageRequest) {
Page<MyThings> myThings = myService.findMyThings(pageRequest);
return myThings;
}
我知道问题就在这方面——如果我部署到Tomcat并通过URL传递pageRequest参数,那么服务器端的分页就可以完美地工作。此外,我在Spring代码中进行了一步,看起来如果pageRequest被放入模型中,它将被拉出,否则会得到默认值,这就是我得到的
有人能帮忙吗
谢谢 传递集合的getForObject的参数。不可修改的映射(参数)实际上是
对象。。。urlVariables
,其中变量是@PathVariable类型声明的占位符,因此这仅适用于具有@PathVariables
另一种方法是采用您现有的方式,但通过以下方式支持查询参数:
String json = restTemplate.getForObject(restEndpoint + "/myThings?pagerequest={pageRequest}",
String.class, Collections.unmodifiableMap(params));
传递集合的getForObject的参数。不可修改映射(参数)实际上是
对象。。。urlVariables
,其中变量是@PathVariable类型声明的占位符,因此这仅适用于具有@PathVariables
另一种方法是采用您现有的方式,但通过以下方式支持查询参数:
String json = restTemplate.getForObject(restEndpoint + "/myThings?pagerequest={pageRequest}",
String.class, Collections.unmodifiableMap(params));
是的,你说得对。我和那个做UI的家伙谈过,这很有效,因为他将值显式地作为urlVariables传递(我不知道)。谢谢-这解决了原本神秘的行为!是的,你说得对。我和那个做UI的家伙谈过,这很有效,因为他将值显式地作为urlVariables传递(我不知道)。谢谢-这解决了原本神秘的行为!