![]() |
1
4
我通过在课堂上添加以下内容解决了这个问题:
并使用Spring的一些HATEOAS特性。
注: 在上面的行中,CreatedBookinInstance只是在DB中创建记录后返回的对象。 |
![]() |
2
3
由于其他解决方案与我的源代码不兼容,我一直在努力寻找返回新创建的实体访问API的URL的解决方案。就我个人而言,我觉得@EralpB解决方案很简单。但是,我在创建链接时在内部使用SimpleEntityPlugin时遇到了一个问题。 最后,我找到了一个简单代码被剪掉的解决方案,我不打算使用任何这样的方法 哈提奥斯 API的。我不确定此解决方案是否与Spring兼容,但我尝试了 SpringBoot-2.x 版本对我来说很好。
根据上面的示例,URL将返回如下 http://localhost:8080/students/1 。这可能会根据您的配置而有所不同。 如果您需要在URL中的学生旁边和id之前添加任何额外路径,您可以直接在{id}声明之前进行硬编码,例如/search/{id}。因此,实际的URL将如下所示: http://localhost:8080/students/search/1 如果在这种情况下,您没有将学生配置为按id搜索学生的一部分,并且您配置了其他路径以按id访问学生,则可以使用以下代码仅加载上下文,例如路径 http://localhost:8080 并将硬代码/加载从属性添加到uri。
根据上面的代码片段,返回的URL如下所示 http://localhost:8080/search/1 。您可以探索以下可用的不同方法: ServletUriComponentsBuilder .我希望这会很清楚。 |
![]() |
3
2
使用资源汇编程序的替代解决方案:
在控制器类中:
|
![]() |
4
0
要轻松获得正确的资源链接,您应该使用以下答案 https://stackoverflow.com/a/41956064/11152683 . 返回 不仅仅是位置 而且 新创建的资源 ,您可以采取以下方法:
请注意,此示例正在使用
|