简化前
package com.baidu.controller;importcom.baidu.domain.User;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.*;@ControllerpublicclassBookController{@RequestMapping(value="/books",method=RequestMethod.POST)@ResponseBodypublicStringsave(){System.out.println("user save... ");return"{'module':'user save'}";}@RequestMapping(value="/books/{id}",method=RequestMethod.DELETE)@ResponseBodypublicStringdelete(@PathVariableIntegerid){System.out.println("user delete ... "+id);return"{'module':'user save'}";}@RequestMapping(value="/books",method=RequestMethod.PUT)@ResponseBodypublicStringupdate(@RequestBodyUseruser){System.out.println("user update ... "+user);return"{'module':'user update'}";}@RequestMapping(value="/books/{id}",method=RequestMethod.GET)@ResponseBodypublicStringgetById(@PathVariableIntegerid){System.out.println("user getById... "+id);return"{'module':'user getById'}";}@RequestMapping(value="/books",method=RequestMethod.GET)@ResponseBodypublicStringgetAll(){System.out.println("user getAll ... ");return"{'module':'user getAll'}";}}先把共有路径提取出来
package com.baidu.controller;importcom.baidu.domain.User;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.*;@Controller@RequestMapping("/books")publicclassBookController{@RequestMapping(method=RequestMethod.POST)@ResponseBodypublicStringsave(){System.out.println("user save... ");return"{'module':'user save'}";}@RequestMapping(value="/{id}",method=RequestMethod.DELETE)@ResponseBodypublicStringdelete(@PathVariableIntegerid){System.out.println("user delete ... "+id);return"{'module':'user save'}";}@RequestMapping(method=RequestMethod.PUT)@ResponseBodypublicStringupdate(@RequestBodyUseruser){System.out.println("user update ... "+user);return"{'module':'user update'}";}@RequestMapping(value="/{id}",method=RequestMethod.GET)@ResponseBodypublicStringgetById(@PathVariableIntegerid){System.out.println("user getById... "+id);return"{'module':'user getById'}";}@RequestMapping(method=RequestMethod.GET)@ResponseBodypublicStringgetAll(){System.out.println("user getAll ... ");return"{'module':'user getAll'}";}}提取@ResponseBody
package com.baidu.controller;importcom.baidu.domain.User;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.*;@Controller@RequestMapping("/books")@ResponseBodypublicclassBookController{@RequestMapping(method=RequestMethod.POST)publicStringsave(){System.out.println("user save... ");return"{'module':'user save'}";}@RequestMapping(value="/{id}",method=RequestMethod.DELETE)publicStringdelete(@PathVariableIntegerid){System.out.println("user delete ... "+id);return"{'module':'user save'}";}@RequestMapping(method=RequestMethod.PUT)publicStringupdate(@RequestBodyUseruser){System.out.println("user update ... "+user);return"{'module':'user update'}";}@RequestMapping(value="/{id}",method=RequestMethod.GET)publicStringgetById(@PathVariableIntegerid){System.out.println("user getById... "+id);return"{'module':'user getById'}";}@RequestMapping(method=RequestMethod.GET)publicStringgetAll(){System.out.println("user getAll ... ");return"{'module':'user getAll'}";}}合并@Controller和@ResponseBody为@RestController
设置当前控制器方法请求访问路径与请求动作,每种对应一个请求动作
package com.baidu.controller;importcom.baidu.domain.User;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.*;@RestController@RequestMapping("/books")publicclassBookController{@PostMappingpublicStringsave(){System.out.println("user save... ");return"{'module':'user save'}";}@DeleteMapping("/{id}")publicStringdelete(@PathVariableIntegerid){System.out.println("user delete ... "+id);return"{'module':'user save'}";}@PutMappingpublicStringupdate(@RequestBodyUseruser){System.out.println("user update ... "+user);return"{'module':'user update'}";}@GetMapping("/{id}")publicStringgetById(@PathVariableIntegerid){System.out.println("user getById... "+id);return"{'module':'user getById'}";}@GetMappingpublicStringgetAll(){System.out.println("user getAll ... ");return"{'module':'user getAll'}";}}