简化前
dart
package com.baidu.controller;
import com.baidu.domain.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
@Controller
public class BookController {
@RequestMapping(value = "/books", method = RequestMethod.POST)
@ResponseBody
public String save() {
System.out.println("user save... ");
return "{'module':'user save'}";
}
@RequestMapping(value = "/books/{id}", method = RequestMethod.DELETE)
@ResponseBody
public String delete(@PathVariable Integer id) {
System.out.println("user delete ... " + id);
return "{'module':'user save'}";
}
@RequestMapping(value = "/books", method = RequestMethod.PUT)
@ResponseBody
public String update(@RequestBody User user) {
System.out.println("user update ... " + user);
return "{'module':'user update'}";
}
@RequestMapping(value = "/books/{id}",method = RequestMethod.GET)
@ResponseBody
public String getById(@PathVariable Integer id) {
System.out.println("user getById... " + id);
return "{'module':'user getById'}";
}
@RequestMapping(value = "/books",method = RequestMethod.GET)
@ResponseBody
public String getAll() {
System.out.println("user getAll ... ");
return "{'module':'user getAll'}";
}
}
先把共有路径提取出来
dart
package com.baidu.controller;
import com.baidu.domain.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
@Controller
@RequestMapping("/books")
public class BookController {
@RequestMapping( method = RequestMethod.POST)
@ResponseBody
public String save() {
System.out.println("user save... ");
return "{'module':'user save'}";
}
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
@ResponseBody
public String delete(@PathVariable Integer id) {
System.out.println("user delete ... " + id);
return "{'module':'user save'}";
}
@RequestMapping( method = RequestMethod.PUT)
@ResponseBody
public String update(@RequestBody User user) {
System.out.println("user update ... " + user);
return "{'module':'user update'}";
}
@RequestMapping(value = "/{id}",method = RequestMethod.GET)
@ResponseBody
public String getById(@PathVariable Integer id) {
System.out.println("user getById... " + id);
return "{'module':'user getById'}";
}
@RequestMapping(method = RequestMethod.GET)
@ResponseBody
public String getAll() {
System.out.println("user getAll ... ");
return "{'module':'user getAll'}";
}
}
提取@ResponseBody
dart
package com.baidu.controller;
import com.baidu.domain.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
@Controller
@RequestMapping("/books")
@ResponseBody
public class BookController {
@RequestMapping( method = RequestMethod.POST)
public String save() {
System.out.println("user save... ");
return "{'module':'user save'}";
}
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
public String delete(@PathVariable Integer id) {
System.out.println("user delete ... " + id);
return "{'module':'user save'}";
}
@RequestMapping( method = RequestMethod.PUT)
public String update(@RequestBody User user) {
System.out.println("user update ... " + user);
return "{'module':'user update'}";
}
@RequestMapping(value = "/{id}",method = RequestMethod.GET)
public String getById(@PathVariable Integer id) {
System.out.println("user getById... " + id);
return "{'module':'user getById'}";
}
@RequestMapping(method = RequestMethod.GET)
public String getAll() {
System.out.println("user getAll ... ");
return "{'module':'user getAll'}";
}
}
合并@Controller和@ResponseBody为@RestController
设置当前控制器方法请求访问路径与请求动作,每种对应一个请求动作
dart
package com.baidu.controller;
import com.baidu.domain.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/books")
public class BookController {
@PostMapping
public String save() {
System.out.println("user save... ");
return "{'module':'user save'}";
}
@DeleteMapping("/{id}")
public String delete(@PathVariable Integer id) {
System.out.println("user delete ... " + id);
return "{'module':'user save'}";
}
@PutMapping
public String update(@RequestBody User user) {
System.out.println("user update ... " + user);
return "{'module':'user update'}";
}
@GetMapping("/{id}")
public String getById(@PathVariable Integer id) {
System.out.println("user getById... " + id);
return "{'module':'user getById'}";
}
@GetMapping
public String getAll() {
System.out.println("user getAll ... ");
return "{'module':'user getAll'}";
}
}