使用 SpringBoot 开发 RESTFul 风格的接口是很方便的,通过 @RestController 注解就可以将对象的方法以 RESTFul 风格发布出去
今天我们来学习如何在 @RestController 里使用 GET变量、POST变量、PATH变量、上传文件变量
就是 QueryString 里面的参数
@RequestMapping("/user")
public User responseUser(
@RequestParam(value = "id") Integer id
){
EntityManager entityManager = new EntityManager(ds);
User user;
user = entityManager.createUser(id);
return user;
}就是 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;
}就是 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;
}