Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在端点中以JSON正文作为输入生成输出_Java_Spring - Fatal编程技术网

Java 在端点中以JSON正文作为输入生成输出

Java 在端点中以JSON正文作为输入生成输出,java,spring,Java,Spring,我的公司要求我用JavaSpring做一个小项目,我以前从未用Spring或Java编程,所以我有点迷路了 我被要求创建一系列端点,因为文档似乎并不困难,我发现困难在于我总是收到一个带有多个键值对的JSON,作为输入,我必须使用Hibernate在Oracle数据库中搜索,并返回另一个JSON和其他键值对 示例: 输入: { "client_id": 123, "shop_id": 22, "id_contract": 233 } 输出: { "loan": "70%" "pe

我的公司要求我用JavaSpring做一个小项目,我以前从未用Spring或Java编程,所以我有点迷路了

我被要求创建一系列端点,因为文档似乎并不困难,我发现困难在于我总是收到一个带有多个键值对的
JSON
,作为输入,我必须使用
Hibernate
Oracle
数据库中搜索,并返回另一个
JSON
和其他键值对

示例:

输入:

{
  "client_id": 123,
  "shop_id": 22,
  "id_contract": 233
}
输出:

{ "loan": "70%"
  "percentage_point": "80%" 
}
我的问题是,我应该通过
POST
方法来完成吗?输出状态是否为200?例如,如何从
JSON
获取客户端id,以便将其映射到数据库中的
hibernate
/
Spring


欢迎提供任何建议,即使只是文章等。

如果没有代码或关于需求的更具体的帖子,也无法提供帮助。我所能做的就是提供潜在有用文章的链接。你需要研究以下方面

我应该通过POST方法来完成吗

否,因为您正在尝试从bd检索数据,所以应该使用GET方法

在Spring中,为了访问请求的主体,必须使用参数旁边的@RequestBody,例如:

...
public Response getLoanAndPercentagePoint(@RequestBody Client client) {
...
}
不幸的是,无法从GET方法检索请求的主体,因为它没有主体。@RequestBody只是从PUT/POST方法绑定主体。您应该通过路径变量或请求参数接收这些请求

一些可能对您有用的文章:


好吧,你一直在问的不是一个具体的问题,而是一个完整的要求。我可以尝试帮助您完成可能需要遵循的步骤

如果您还没有完成项目的创建,我建议您在项目中使用SpringBoot

如果您使用的是maven或gradle,请选择它,然后在搜索依赖项中搜索SpringWeb、SpringDataJPA并生成一个项目

一旦您准备好项目并将其导入IDE(例如Eclipse、IntelliJ Idea、Netbeans或任何其他Java IDE),最后您所要做的就是编写REST服务来实现您的需求

并回答您的问题。

我应该通过POST方法来完成吗

如果您被告知将接收的请求是JSON格式的,那么您需要使用POST方法

什么是post以及为什么使用post方法

输出状态是否为200

http中的状态200表示成功。这意味着当客户端发送的数据有效且服务器已成功处理请求(在您的JSON正文中)时,它将返回200。因此,如果成功,您的api将返回200

例如,如何从JSON获取客户机id,以便使用hibernate/Spring将其映射到数据库中

要了解有关如何创建rest控制器的更多信息,请获取JSON输入,创建POST方法,使用Spring JPA进行数据库操作,请遵循以下链接:


希望这将帮助您走上正确的道路。

他们要求您创建哪些端点?到目前为止,您自己尝试过什么吗?像client/newContract这样的东西,通常只是将新合同保存在bbdd中,但他们想要的是返回另一个JSON,其中包含我发布的bbdd中的信息。我没有开始,因为所有的端点都会像我解释的那样。所以我首先要弄清楚如何面对它。是的,对于GET,你只需返回一个X类型的响应,其中包括loan和percentage_point。但是使用GET方法接收JSON主体作为输入并没有错?如果目标是在特定id的客户机上以某个百分点获得所有贷款,例如,他的id为#1,我们可以假设端点为/client?id,其中id为1。您将使用该id,使用JPA从数据库获取贷款或贷款集合,并将其作为响应返回。您没有修改任何内容,这只是一个简单的GET请求。他说英语不是他的第一语言,所以这是可以理解的,但这只是对所需要求的拙劣解释。