如何在spring boot项目中的控制器中编写请求方法类型

时间:2018-04-17 10:31:17

标签: spring-boot controller httprequest

我开发了一个coefficient项目。

在服务SpringBoot中:

TaskServiceImpl.java

我在 @Override public Response<Boolean> claimTask(int id, String worker) { try{ taskDao.claimTask(id, worker); pictureDao.savePictureList(id, worker, FileTool.listPictureName(FOLDER_NAME)); return new Response(true, "Succeed to claim task!"); }catch (Exception ex){ ex.printStackTrace(); return new Response(false, "Fail to claim task!"); } } 等服务方法中使用了多个DAOs,但我应该如何编写相对控制器,如claimTask。java:

TaskController

我怀疑“方法”,如果我什么都不写或只是使用“@RequestMapping(value = "claim", method = RequestMethod.POST) @ResponseBody public Response<Boolean> claimTask(int id, String worker){ return taskService.claimTask(id, worker); } ”?

2 个答案:

答案 0 :(得分:0)

最好在Controller类中使用@RestController(它是@Controller和@ResponseBody的组合)。因此,您可以在每种方法中删除@ResponseBody

@PostMapping("/claim")
public Response<Boolean> claimTask(@RequestParam int id, @RequestParam String worker){
    return taskService.claimTask(id, worker);
}

我希望value = "claim"是URI路径。

答案 1 :(得分:0)

  

我怀疑&#34;方法&#34;,如果我什么都不写或只是使用   &#34;方法= RequestMethod.POST&#34;?

应根据您的终端所做的工作使用方法类型。

根据restfulapi你应该使用:

  1. HTTP GET :使用GET请求仅检索资源表示/信息 - 而不是以任何方式修改它
  2. HTTP POST :使用POST API创建新的下级资源,例如文件从属于包含它的目录,或者行从属于数据库表
  3. HTTP PUT :主要使用PUT API更新现有资源(如果资源不存在则API可能决定是否创建新资源)
  4. 如果您使用的是Spring version 4.3 or above,则可以使用GetMappingPostMapping等。