我想获取多个JSON数据,我以Json格式以正文的形式传递给邮递员。
如果我传递单个json数据,例如:{"firstName":"ria","lastName":"soni"}",这样我就可以在下面提到的JavaAPI中获取它:
@Path("patient")
@POST
@Consumes(MediaType.APPLICATION_JSON)
public String getPatient(Patient patient) {
System.out.println(patient.getFirstName());
System.out.println(patient.getLastName());
return "ok";
}
它工作正常。但是如果我想传递[{"firstName":"ria","lastName":"soni"},{"firstName":"shreya","lastName":"patel"}]
并进入API,如下所示:
@Path("patientDetail")
@POST
@Consumes(MediaType.APPLICATION_JSON)
public String getPatientDetails(@RequestBody List<Patient> patient) {
for (Patient p : patient) {
System.out.println(p.getFirstName());
System.out.println(p.getLastName());
}
return "ok";
}
当我通过传递多个JSON数据来点击邮递员的请求时,就像我提到的,甚至getPateint详细信息方法也没有调用,如何在Rest API中传递和获取多个json数据。请给我相同的解决方案或参考链接。
通过以下格式传递尝试JSON。
{
"data" : [
{"firstName":"riya","lastName":"soni"},
{"firstName":"shreya","lastName":"patel"}
]
}
解析JSON并首先获取数据变量,然后使用它获取数组中的每个对象。
检查这个正在寻找的小工作示例。
曲目.java
public class Track {
String title;
String singer;
//getters and setters
@Override
public String toString() {
return "Track [title=" + title + ", singer=" + singer + "]";
}
}
JSONService.java
@Path("/json/check")
public class JSONService {
@POST
@Path("/postManyAsString")
@Consumes(MediaType.APPLICATION_JSON)
public String createManyTrackInJSON(String jsonStr) throws Exception {
JSONObject inputObject = new JSONObject(jsonStr);
if(inputObject.get("tracks") instanceof JSONObject)
{
JSONObject jsonObject = (JSONObject) inputObject.get("tracks");
System.out.println(jsonObject.get("title"));
System.out.println(jsonObject.get("singer"));
}
else if(inputObject.get("tracks") instanceof JSONArray)
{
JSONArray jsonArray = (JSONArray) inputObject.get("tracks");
for(int i=0; i<jsonArray.length(); i++)
{
JSONObject jsonObject = jsonArray.getJSONObject(i);
System.out.println(jsonObject.get("title"));
System.out.println(jsonObject.get("singer"));
}
}
else
{
System.out.println(inputObject.get("tracks"));
}
return "Okay";
}
}
网址:http://localhost:8080/RESTfulExample/rest/json/check/postMany输入数据:
[{
"title" : "hai1",
"singer" : "sree1"
},
{
"title" : "hai2",
"singer" : "sree2"
},
{
"title" : "hai3",
"singer" : "sree3"
}]
我对邮递员有意见... 但是,当我尝试以 raw(json) 格式的正文发送相同的请求时,我得到了这个: 我试图通过Angular 5将数据发送到Drupal 8后端。 谢谢你!
如何将请求主体设置在一个位置,并在多个请求中重用它,以便在构建更改时节省维护测试脚本的工作量。 我正在使用postman在动态变化的环境中进行测试自动化。json主体结构可能会从构建更改为另一个,我必须单独更新每个请求。 这是一个示例体,我在其中传递全局setter的值 这些变量在预请求中定义为 TIA
我有一个邮递员预请求脚本添加一个HMAC密钥到一个请求。除非身体中有一个环境变量,否则这种方法很有效。所以如果我有下面的身体 当发送请求时将键值设置为sample时,正文包含以下内容 这是我所期望的。但是,在访问预请求脚本中的请求正文时, 我得到以下信息 我怎样才能获得变量被替换的主体,以便它是将被发送到服务器的内容?
我试图从环境变量替换Postman中JSON主体的值,该值实际上被替换,但它在传递给POST请求时将JSON转换为字符串,因此请求最终失败,因为POST请求需要JSON主体。 例如,这里是下面的请求,变量已经在Postman中用值声明 发送请求后,整个正文将转换为字符串。知道如何保持正文是JSON,即使替换了变量的值并且不让它转换为字符串?
null
我有一个带有更新方法的控制器。该方法应在RequestBody中获取产品,但这会导致请求错误。我和邮递员一起发了一封邮件。JSON作为原始JSON发送,请求内容类型为application/JSON。 正文中的JSON是 请求响应不良的原因是什么?JSON似乎格式化正确,当没有正文时调用更新方法。