我想使用以下方式在浏览器中访问两个不同的页面:
http://localhost:8080/name?views
和
http://localhost:8080/name?uviews
但是我收到错误必需字符串参数'uviews'在我使用第一个url时不存在而且我得到必需字符串参数当我使用第二个时,'views'不存在。
这是我的回复正文
@ResponseBody
public Object getViewInJson(@RequestParam("views") String views ,@RequestParam("uviews") String uviews) throws IOException{
loader = new AnalyticsLoader();
return loader.AnalyticsLoader(views,uviews);
}
如何访问视图和uviews?
答案 0 :(得分:7)
将required=false
属性添加到@RequestParam
。更改为
@RequestParam(required=false,name="views") String view,..
答案 1 :(得分:4)
将required=false
添加到@RequestParam
表示法中。或者您可以决定明确使用一个,将其设置为required=false
并将另一个设置为defaultValue
。
有关详细信息,请参阅documentation。
答案 2 :(得分:0)
请检查您的春季版本,3.2.3中有一个错误。 https://jira.spring.io/browse/SPR-10592
答案 3 :(得分:0)
我在postman
中也遇到了同样的问题,添加required=false
和defalutValue
可能会有所帮助。但required = false给了我NULL Exception
。邮递员中的Clearing / Removing Headers
可以帮助我。
答案 4 :(得分:0)
将required=false
属性添加到@RequestParam
@RequestParam(required=false,name="views")
答案 5 :(得分:0)
代替:
@ResponseBody
public Object getViewInJson(@RequestParam("views") String views, @RequestParam("uviews") String uviews) throws IOException{
...
}
这样做:
@ResponseBody
public Object getViewInJson(@RequestParam("views[]") String views, @RequestParam("uviews[]") String uviews) throws IOException{
...
}
将括号添加到参数的末尾,其他任何东西都是正常的。