RESTful风格与Spring注解
RESTfulL
是一种网络应用程序的设计风格和开发方式,即接口请求方式和路径的一种风格。
普通风格: localhost:8080/add?a=1&b=2
RestFul风格: localhost:8080/add/1/2
- GET 获取: localhost:8080/item/1
- POST 新增: localhost:8080/item/
- PUT 修改: localhost:8080/item/
- DELETE 删除: localhost:8080/item/1
spring mvc中也提供了多种形式的请求
// RequestMapping 可指定匹配请求类型,默认匹配所有请求类型
// 通过method参数指定匹配请求的类型,如: @RequestMapping(value = "/add/{a}/{b}",method = RequestMethod.GET )
@RequestMapping("/add/{a}/{b}")
public String add(@PathVariable int a,@PathVariable int b,Model model) {
model.addAttribute("msg",a + b);
return "hello";
}
spring处理提供了上面@RequestMapping外,还提供了许多衍生注解
@GetMapping 获取
@PostMapping 增加
@PutMapping 修改
@DeleteMapping 删除
@PatchMapping 补丁
spring常用注解
@Controller 修饰类,被修饰类标记为控制器,被spring的处理控制器管理。内部方法返回值类型为String时,默认为view视图。响应浏览器指定页面。
@Service 修饰类,被修饰类标记为service层
@Repository() 修饰类,标记为Dao层
@Component 修饰类,标记为组件
@Autowired 自动填充,从IOC容器中寻找实例填充(使用改注解的类必须被spring托管)
@RestController 修饰类,标记为控制器。内部方法响应浏览器字符串
@RequsetMapper() 修饰类或者方法,指定url,匹配psot和get请求。
修饰类为一级url,修饰方法为二级url。最终访问方法时的url是一级url和二级url拼接起来。
@GetterMapper() 修饰方法,指定url,匹配get请求
@PostMapper() 修饰方法,指定url,匹配post请求
@ResponseBody() 修饰方法,指定返回json字符串