`
raymond.chen
  • 浏览: 1419765 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

SpringMVC常用的注解

 
阅读更多

@Controller:

       用于定义控制器类

 

@ResponseBody:

       表示方法的返回结果直接写入HTTP response body中

 

@PathVariable:

       获取路径参数

 

@RequestParam:

       用在方法的参数前面

 

@RequestBody

 

@RestController:

       是@Controller和@ResponseBody的合集

 

@RequestMapping:

       提供路由信息,负责URL到Controller中的具体函数的映射

 

@GetMapping:

       是@RequestMapping(method = RequestMethod.GET)的缩写。不支持@RequestMapping的自定义属性。

 

@PostMapping:

      是@RequestMapping(method = RequestMethod.POST)的缩写。不支持@RequestMapping的自定义属性。

 

@ControllerAdvice:统一处理异常。

@ExceptionHandler:用在方法上表示遇到这个异常就执行以下方法。

       Controller层的全局异常统一处理

 

范例: 

@RestController
public class UserServiceController{
	@GetMapping("/user/{id}")
	public String addUser(@PathVariable(value="id") Long id){
		return "" + id;
	}

	@GetMapping("/user/query")
	public String query(@RequestParam(value="name") String name){
		return name;
	}

	@PostMapping("/user/add")
	public User add(@RequestBody Address address){
		User user = new User();
		user.setUsername("dev");
		user.setPassword("123");
		return user;
	}

	@RequestMapping(value="/{id}", method=RequestMethod.GET)
	public String user(@PathVariable Long id) {
		return "user id: " + id;
	}

	@RequestMapping(value="/queryUser", method=RequestMethod.GET)
    public User queryUser(@RequestParam(value="pageSize") Integer pageSize) {
        User user = new User();
        user.setUsername("dev");
        user.setPassword("123");
        return user;
    }

	@RequestMapping("/user")
    public ModelAndView user(ModelMap map) {
        map.addAttribute("username", "dev");
        map.addAttribute("currentTime", new Date());
        return new ModelAndView("user");
    }

	@RequestMapping(value="/test", method=RequestMethod.GET)
	public String test(Map<String, Object> model) {
		model.put("time", new Date());
		model.put("message", this.message);
		return "test";
	}

	@RequestMapping(value="/saveUser2", method=RequestMethod.POST, consumes="application/json")
	public String saveUser2(@RequestBody List<User> userList) {
		return "success";
	}

	@RequestMapping(value="/saveUser3", method=RequestMethod.POST, consumes="application/json")
	public String saveUser3(@RequestBody User user) {
		return "success";
	}

	@RequestMapping(value="/saveUser4", method=RequestMethod.POST)
	public String saveUser4(HttpServletRequest request, HttpServletResponse response) {
		return "success";
	}	
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics