簡體   English   中英

在 Postman 的請求正文中傳遞多個 JSON 數據並使用 Jersy(JXRS) 進入 Java Rest API

[英]Pass multiple JSON data in Request Body of Postman and Get into Java Rest API using Jersy(JXRS)

我想獲取多個 JSON 數據,這些數據以 Json 格式傳遞給 Body 中的 Postman。

如果我傳遞單個 json 數據,例如:"{"firstName":"riya","lastName":"soni"}" 所以我可以在我的 Java API 中得到它,如下所述:

@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":"riya","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 數據來滿足郵遞員的請求時,即使 getPateintDetails 方法也沒有調用,如何在 Rest API 中傳遞和獲取多個 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";
    }
}

URL: http://localhost:8080/RESTfulExample/rest/json/check/postMany輸入數據:

[{
    "title" : "hai1",
    "singer" : "sree1"
},
{
    "title" : "hai2",
    "singer" : "sree2"
},
{
    "title" : "hai3",
    "singer" : "sree3"
}]

在此處輸入圖像描述

通過傳入以下格式來嘗試 JSON。

{
  "data" : [
    {"firstName":"riya","lastName":"soni"}, 
    {"firstName":"shreya","lastName":"patel"}
 ]
}

解析 JSON 並首先獲取數據變量,並使用它來獲取數組中的每個對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM