SpringBoot-RestFul风格的Controller
1:新建一个Rest风格的Controller类:
@PathVariable:从请求中找到id为key的值赋给方法的参数为id并且做为路径的一部分,路径中{id}代表占位符的意思。在restFul风格中的增删改查的路径几乎是一样的。
通过统一的接口来识别的:GET,POST,PUT,DELETE。
package com.boot.web.demo.bootweb1.controller;
import com.boot.web.demo.bootweb1.entity.User;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class RestUserController {
//根据id查询获取用户信息
@RequestMapping(value="/user/{id}",method= RequestMethod.GET)
public void getUserById(@PathVariable int id){
System.out.println("查询到了一个id为"+id+"的用户");
}
//查询所有的用户信息
@RequestMapping(value="/user",method=RequestMethod.GET)
public void getUsers(){
System.out.println("查询了所有的用户信息");
}
//添加某个用户信息
@RequestMapping(value="/user",method=RequestMethod.POST)
public void addUser(User user){
System.out.println("添加了用户信息"+user);
}
//修改某个用户的信息
@RequestMapping(value="/user/",method=RequestMethod.PUT)
public void updateUserById(User user){
System.out.println("修改了用户信息");
}
//删除某个用户信息
@RequestMapping(value="/user/{id}",method=RequestMethod.DELETE)
public void deleteUserById(@PathVariable int id){
System.out.println("删除了"+id+"的用户信息");
}
}
然后重新发布下项目测试下:
总结:这就是Rest风格的API,上面的注解可以用一个@xxxMapping来代替。在spring4.3已经有这样的注解了,也可以给方法传json字符串,只要在方法的参数中加@RequestBody就可以把json字符串转成相应的对象。