介绍
介绍
使用 SpringBoot 开发 RESTFul 风格的接口是很方便的,通过 @RestController 注解就可以将对象的方法以 RESTFul 风格发布出去
今天我们来学习如何在 @RestController 里使用 GET变量、POST变量、PATH变量、上传文件变量
教程
GET变量
就是 QueryString 里面的参数
@RequestMapping("/user")
public User responseUser(
    @RequestParam(value = "id") Integer id    
){
    EntityManager entityManager = new EntityManager(ds);
    User user;
    user = entityManager.createUser(id);
    
    return user;
}POST变量
就是 HTTP Body 里面的参数
@RequestMapping(value = "/user", method = RequestMethod.POST)
public User responseUser(
    @RequestParam(value = "id") Integer id
){
    EntityManager entityManager = new EntityManager(ds);
    User user;
    user = entityManager.createUser(id);
    return user;
}PATH变量
就是 Request URI 里面的参数
@RequestMapping(value = "/user/{id}")
public User responseUser(
    @PathVariable(value = "id") Integer id
){
    EntityManager entityManager = new EntityManager(ds);
    User user;
    user = entityManager.createUser(id);
    return user;
}上传文件变量
上传文件一定是 POST 请求
@RequestMapping(value = "/user", method = RequestMethod.POST)
@ResponseBody
public Map<String, String> responseUser(
        @RequestParam("file") MultipartFile file
        ){
    Map<String, String> map = new HashMap<>();
    try{
        map.put("originFilename", file.getOriginalFilename());
        map.put("name", file.getName());
        map.put("type", file.getContentType());
        map.put("size", String.format("%s", file.getSize()));
    }
    catch (Exception e){
        e.printStackTrace();
    }
    return map;
}