当前位置: 首页 > 知识库问答 >
问题:

将发布请求发送到rest控制器,并将url发送到rest存储库

孟增
2023-03-14

我有两个实体A和B,其中A拥有B类的属性“B ”( A和B之间一对一的关联)

我想做一个Rest调用来保存A实体的实例,并将b param作为url传递,该url在json中给出类似的东西:

{
    "id": "5",
    "b": "/restapi/B/2"
}

/b/2引用B储存库的findById rest资源。

当我执行A Repository的这个目标rest resource save()(通常是对url/restapi/A的POST请求)时,它工作得很好,spring通过调用B Repositoryrest资源来查找B实体(本例中为2)。

我想使用我自己的 rest 控制器执行相同的行为,方法是在@RestController组件中定义一个@PostMapping函数。

有可能吗?

PS:我已经测试了使用postman发送上述JSON,其余的api将“/restapi/B/”作为字符串进行翻译,并尝试使用明显失败的字符串反序列化B。

共有2个答案

米俊喆
2023-03-14

在控制器类中使用@RepositoryRestController而不是@RestController

公冶智刚
2023-03-14

是的,您可以在restcontroller中自动连接该存储库,并在那里使用它。您可能需要一个事务性注释。

另外,我建议看看Spring-Data-Rest项目。它已经为您提供了您正在尝试构建的内容。它是HATEOAS原则的实现。

 类似资料:
  • 问题内容: 我正在创建一个REST API,它将接受JSON请求。 我正在使用CURL进行测试: 但是出现以下错误: 调试时,它甚至都不会进入控制器中的create动作。 更新 我将Jackson配置添加到AppConfig.java: 我的GET现在可以正常工作了: 但是尝试POST时得到以下信息: 我的模特: 有什么想法我要去哪里吗? 谢谢 问题答案: 正如sdouglass所建议的那样,Sp

  • 如何通过Ajax调用将jsonArray发布到spring控制器?? 这是我的JSON数组想通过这个!!

  • 以下是我的情况: < li >客户端向Netty服务器发送POST请求。 < li>Netty处理POST请求,如果服务器确定需要发送响应,它会将响应发送回客户端。否则,服务器必须向另一个endpoint发送POST请求,获取响应并将该响应发送回客户端。 到目前为止,我已经处理了传入的POST请求。要发送传出的POST请求,这是我在Handler中所做的。 这显然是错误的,因为我正在处理程序中启动

  • 问题内容: 我正在开发一个React应用,该应用需要从elsaticsearch获取数据。在前端,实际上我正在尝试使用axios来执行请求: 我想获取带有某些ID的特定文档。上面的查询实际上在kibana内部有效。但是,以上查询返回my-type内的所有文档,我在这里做错了什么? 问题答案: 我认为以下应该可行。虽然爱可信自述说,是专门只为,,和请求,我没有看到在强制执行此代码的任何,和简化的测试

  • 问题内容: 我想从以下位置检索JSON数据:https : //git.eclipse.org/r/#/c/11376/ 要求网址: 请求方法: 请求标头: 请求有效负载: 我已经尝试过这个答案,但是我得到了。 谁能帮我解决这个问题? 谢谢。 问题答案: 以下代码对我有用。 方法实现:

  • 问题内容: 将节点js中的https请求发送到rest服务的步骤是什么?我有一个像https://133-70-97-54-43.sample.com/feedSample/Query_Status_View/Query_Status/Output1?STATUS=Joined%20school 如何传递请求,我需要为此API提供哪些选项(例如主机,端口,路径和方法)? 问题答案: 最简单的方法是