【问题标题】:How to use a Spring Boot API in a java method如何在 java 方法中使用 Spring Boot API
【发布时间】:2020-07-10 14:22:05
【问题描述】:

我是编程新手,我有一个项目来制作一个 rest API。我使用 spring boot 做了一个来使用 GET 和 POST 操作。现在我正试图让它在一个简单的 java 应用程序上工作,

  • 用户使用 java 扫描器插入他们的名字。
  • 然后发送 POST 请求以将其发送到数据库。

到目前为止,API 在 Postman 中运行良好,但我不知道如何使用方法将其添加到 java。

(我用这个教程制作了api:https://www.callicoder.com/spring-boot-rest-api-tutorial-with-mysql-jpa-hibernate/)

【问题讨论】:

  • 不明白自己真正想做什么,用spring boot和jpa应该可以做到。
  • @SimonMartinelli,我浏览了 baeldung 中的大部分教程,但我什么都不懂。我什至尝试下载他的源代码,这样我就可以看到它是如何工作的,但即使这样也给出了一个错误
  • @AymenRagoubi 我正在尝试制作一个简单的应用程序,它类似于没有界面或任何东西的 hello java。它只是要求用户输入他的名字。在您输入内容并按 Enter 后,我想调用一个 POST 请求,以便将其发送到 mySql 数据库。基本上我想在 IDE 中做我在邮递员上做的事情
  • 如果您是编程新手,也许不要从需要多年培训和学习的堆栈开始。首先创建一个 Java 命令行应用程序并了解问题和解决方案,然后再开始跳过下一个重要环节,这些环节不仅需要您了解编程,还需要了解 HTTP 通信等等。教程可能是让事情开始的好方法,但它们大多不能帮助你理解他们非常简化的场景的左右两边。

标签: java spring-boot rest api


【解决方案1】:

你可以做的是:

  1. 您将需要此 json 来发送数据:

{
“名字”:“xyz”
}

代码很简单,看本教程即可:http://zetcode.com/java/getpostrequest/

按照相同的步骤,您就可以实现您的目标。尝试用您需要的数据替换模型。

【讨论】:

  • 我已经做了一个非常相似的 api 并且想知道我是否可以使用 java 类来使用 post request 等而不是使用 postman
  • 您能否详细说明您的问题,因为您不太清楚您要做什么。
  • 所以我制作了一个 Spring Boot api 来获取和发布用户的名字和姓氏。为了使用它,我必须使用 Postman,它工作正常。我希望找到一种方法来制作一个 java 方法,我可以要求用户输入(使用 java 扫描仪)并将信息直接发送到数据库,而不必使用邮递员添加数据。
  • 试试上面的链接,这是最简单的代码来满足你的目标。
【解决方案2】:

很好,你正在学习..继续努力.. 你的问题的灵魂是

您必须使用 Spring 的 RestTemplate 或其他 (How do you create a REST client for Java?) 实现一个 RestClient

假设你有你的端点 http://localhost:8081/api/name

你必须像这样创建 RestClient(我使用简单的只是为了举例)

【讨论】:

  • 感谢这个工作!你有类似发送 POST 请求的东西吗?
【解决方案3】:

这是POST 使用spring 应用程序作为REST 客户端的方法,假设您是POSTing JSON,即"{ ... }" 位并在返回中接收JSON

HttpHeaders headers = new HttpHeaders();
headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
HttpEntity<String> payload = new HttpEntity<>("{ ... }", headers);

RestTemplate restTemplate = new RestTemplate();
String jsonFromServer = restTemplate.postForObject(url, payload, String.class);

【讨论】:

  • 是的,我必须输入信息,然后我将它们作为 JSON 接收。我到底应该在哪里使用该代码?在 application.java 中还是作为单独的文件?
【解决方案4】:

您应该实现一个 java rest 客户端,该客户端调用您与数据库交互的后端 spring boot api。 为此,您可以使用很多 java rest 客户端 api。看这里rest client api

【讨论】:

  • 我现在检查一下。但是有没有办法可以使用我已经制作的spring boot api?我知道插入数据的唯一方法是使用邮递员,但必须有一种在 java 中使用它的方法?
  • 你的 spring boot api 只是你可以调用的端点。例如,如果您有这样的端点 /searchdata/{id} 您必须从您的 java 程序连接到您的 sping api,然后通过传递参数来调用端点(这里是路径参数 'id)。正如我在回答中所说,有几个 java api 允许你这样做。
  • 如果你觉得这很有用,你必须接受我的回答
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-06
  • 1970-01-01
  • 2021-07-16
  • 2014-10-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多