如何使用ControllerLinkBuilder记录POST(HTTP方法)?

时间:2015-09-09 06:24:17

标签: spring-boot spring-hateoas

我使用ControllerLinkBuilder创建指向Spring MVC控制器列表的链接索引。
例如:

  

ResourceSupport resource = new ResourceSupport();   resource.add(linkTo(methodOn(ReactorController.class).sendmail(EventBody))withRel(REACTOR_REL));

这会产生:

  

“reactor”:[      {          “href”:“http://localhost:12345/main/reactor/sendmail”      }   ]

在示例中,它是sendmail的POST! 记录的方法是什么? POST 是预期的?

1 个答案:

答案 0 :(得分:1)

当您提供链接时,您指向的是可由API用户操作的资源,而不是他们希望知道如何使用的功能。

https://spring.io/understanding/HATEOAS

最后一段适用于您的问题。

  

根据Richardson成熟度模型,HATEOAS被认为是REST的最终级别。这意味着每个链接都被假定为实现GET,POST,PUT和DELETE(或子集)的标准REST动词。因此,提供如上所示的链接为客户提供了导航服务所需的信息。

所以在你的情况下,如果没有意义实现任何方法但是发布,你可以让它们发布到/mail,你可以创建一个单独的文档(如Swagger,Spring REST Docs)让他们知道你的实体格式。