复杂REST请求对象中的默认值

时间:2014-09-16 09:39:38

标签: java spring rest

当我们在 REST 请求方法上使用 @RequestParam 注释时,我们可以指定是否需要该值,以及它的默认值。但是当我们让Spring映射请求参数到某个复杂对象时,如何实现呢?是否可以注释该对象的字段?

2 个答案:

答案 0 :(得分:3)

我认为对于复杂的对象,你可以使用@ModelAttribute注释。或者你可以使用bean验证API给出的注释。对于ex @Valid(JSR注释),然后你可以添加必要的验证,如空,范围检查或复杂对象的字段中的默认值。

答案 1 :(得分:0)

这就是你正在寻找的东西

9 @Controller 

10 public class ModelAttributeExampleController {  

11     @Autowired 

12     private UserDetails userDetails;  

13     @RequestMapping(value="/modelexample")  

14     public String getMethod(@ModelAttribute UserDetails userDetails){  

15         System.out.println("User Name : " + userDetails.getUserName());  

16         System.out.println("Email Id : " + userDetails.getEmailId());  

17         return "example";  

18     }  

19    

20     //This method is invoked before the above method  

21     @ModelAttribute 

22     public UserDetails getAccount(@RequestParam String user, @RequestParam String emailId){  

23         System.out.println("User Value from Request Parameter : " + user);  

24         userDetails.setUserName(user);  

25         userDetails.setEmailId(emailId);  

26         return userDetails;  

27     }  

28 } 

来源:http://www.javabeat.net/modelattribute-spring-mvc/