必需的字符串参数不存在 Spring MVC

Required String parameter is not present Spring MVC

我想在我的浏览器中访问两个不同的页面:

http://localhost:8080/name?views

http://localhost:8080/name?uviews

但是我收到错误消息 Required String parameter 'uviews' is not present when I use first url and I get Required String parameter 'views' is not present when I use second .

这是我的回复正文

@ResponseBody     
public Object getViewInJson(@RequestParam("views") String views ,@RequestParam("uviews") String uviews) throws IOException{

 loader = new AnalyticsLoader();



    return loader.AnalyticsLoader(views,uviews);
}

如何同时访问views和uviews?

required=false 添加到 @RequestParam 表示法中。或者您可以决定明确使用一个,将其设置为 required=false 并将另一个设置为 defaultValue.

有关详细信息,请参阅 documentation

required=false 属性添加到 @RequestParam..更改为

@RequestParam(required=false,name="views") String view,..

请检查您的 spring 版本,3.2.3 中存在错误。 https://jira.spring.io/browse/SPR-10592

我使用 Postman 进行 API 命中,添加 required=falsedefalutValue 可能会有帮助,但 required=false 结果是 NULL Exception .然后我在Postman及其作品中有Removed the Headers (can Authorization header)

而不是:

@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{
    ...
}

在参数末尾添加方括号,其他如常。