LeTadas
LeTadas

Reputation: 3556

Required String parameter is not present Spring MVC

I want to access two different pages in my browser using:

http://localhost:8080/name?views

and

http://localhost:8080/name?uviews

But I'm getting error 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 one.

here is my Response body

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

 loader = new AnalyticsLoader();



    return loader.AnalyticsLoader(views,uviews);
}

How can access both views and uviews?

Upvotes: 10

Views: 104196

Answers (5)

SMontiel
SMontiel

Reputation: 19

Instead of:

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

Do this:

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

Add brackets to the end of the param, anything else as normal.

Upvotes: -1

Romil Patel
Romil Patel

Reputation: 13727

I was using Postman for API hit, Adding required=false and defalutValue might be helpful, but required=false results in NULL Exception. Then I have Removed the Headers (can Authorization header) in Postman and its works.

Upvotes: 2

Lyn
Lyn

Reputation: 41

please check your spring version, there is a bug in 3.2.3. https://jira.spring.io/browse/SPR-10592

Upvotes: 0

Prasanna Kumar H A
Prasanna Kumar H A

Reputation: 3431

Add required=false attribute to @RequestParam..Change to

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

Upvotes: 28

ChiefTwoPencils
ChiefTwoPencils

Reputation: 13930

Add required=false to the @RequestParam notation for both. Or you could decide to explicitly use one, set it to required=false and set the other as the defaultValue.

See the documentation for further information.

Upvotes: 4

Related Questions