簡體   English   中英

我想將列表(它是對象的成員)從 Postman 發送到 Spring REST ZDB974238714CA8ACED638

[英]I want to send a List(which is a member of an object) from Postman to Spring REST API

我有一個 object,它的屬性是一個列表。 我想將此 object 從 Postman 發送給我的服務。 I'm using Spring 5.2.7 (Spring MVC, not SpringBoot) and Hibernate 5.4.17 and Java 8. My problem is very similar to this one: I want to send a Postman POST request with an Array: members: ["william ", "埃里克", "瑞恩"]

這是我試圖傳入 Postman 的 class (POST 方法):

public class ChatDescriptionDto {

    private String chatID;

    private List<String> members;

    private String chatType;

    public String getChatID() {
        return chatID;
    }

    public void setChatID(String chatID) {
        this.chatID = chatID;
    }

    public List<String> getMembers() {
        return members;
    }

    public void setMembers(List<String> members) {
        this.members = members;
    }
    
    public void addMembers(List<String> members)
    {
        if(this.members == null)
            this.members = new ArrayList<>();
        this.members.addAll(members);
    }
    
    public void addMember(String member)
    {
        if(this.members == null)
            this.members = new ArrayList<>();
        this.members.add(member);
    }

    public String getChatType() {
        return chatType;
    }

    public void setChatType(String chatType) {
        this.chatType = chatType;
    }
}

我已經嘗試過了,但它沒有用:

{
    "chatID": "123",
    "members": ["P2001222833","P2001640916"],
    "chatType": "personal"
}

編輯:這是我的 controller:

@PostMapping("/initiateChat")
public String initiateChat(@RequestBody ChatDescriptionDto chat)
{
    return chatServiceLocal.initiateChat(chat)?"Chat Description created":"Failure! Could not save.";
}

編輯2:我在問題中寫的方法"members": ["P2001222833","P2001640916"],是正確的。 事實證明,服務器中有一些錯誤,所以它永遠不會啟動,我沒有檢查。

Having no information about the Controller class you're using, the first thing I'd assume is that you're receiving an empty object, which means that Spring simply skipped the serialization. 當您沒有將方法的參數指定為@RequestBody時,就會出現這種情況。 首先,確保您確實有注釋。

@RestController
@RequestMapping("/")
public class TestController {

    @RequestMapping(value = "/test", method = RequestMethod.POST)
    public ResponseEntity test(@RequestBody ChatDescriptionDto dto) {
        System.out.println(dto);
        return ResponseEntity.ok().build();
    }

}

如果不是這種情況,我認為問題出在您使用的內容類型上。 Spring 默認使用 JSON,但您可以在端點配置中更改它。

要發送一個簡單的 object 請求,您可以:

{

“成員”:“可樂”

}

要發送列表 object 請求,您可以:

{

"成員": ["kola","wale","ojo"]

}

這更像是列出數組元素。

在這之后出現的任何錯誤,基本上都不是因為你發送的請求。

Postman 發送 JSON Object 包含列表<object><div id="text_translate"><p>我目前正在從事一個項目,在該項目中,其他人編寫的當前實現采用包含可以解釋為其他 4 種 Object 類型的列表的消息,如其 XmlElements 列表中所述。 我目前正在為此編寫 Rest 實現,我的問題是 Postman 是否可以發送包含 Object 類型列表的消息正文。 當我發送一個原始的 JSON 主體進行測試時,我收到了我的 object,但它的列表是 null。</p><p> 這是只有一種類型的消息的示例。</p><pre class="lang-json prettyprint-override"> { "listObject": [ { "type1":{ "var1": "String", "var2": "String", "var3": "Instance", "var4": "String", "var5": "String", "var6": Integer, } } ] }</pre><p> 這是我接收帖子的代碼</p><pre class="lang-java prettyprint-override">@RestController public class ExampleRestController{ @Autowired ServiceObject service; @PostMapping(value="path/example", produces=MediaType.APPLICATION_JSON_VALUE) public ResponseType example(@RequestBody ExampleObj obj){ return service.handleObj(obj); } } public class ExampleObj{ protected List&lt;Object&gt; listObject; public List&lt;Object&gt; getListObject{ if(listObject == null) listObject = new ArrayList&lt;Object&gt;(); return listObject; } }</pre><p> 在編寫消息正文時,我確保使用我正在嘗試測試的 object 的變量名稱,但是當我測試時,我收到一個列表 null。</p><p> 是否可以使用 Postman 發送類型為 Object 的列表?</p></div></object>

[英]Postman send JSON Object containing List<Object>

暫無
暫無

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

相關問題 郵差404 Spring Rest API 如何將時間和日期值從郵遞員發送到我的 REST API rest api - 如何在rest api調用中發送郵遞員的身體參數 Spring Rest API的返回列表 Postman 發送 JSON Object 包含列表<object><div id="text_translate"><p>我目前正在從事一個項目,在該項目中,其他人編寫的當前實現采用包含可以解釋為其他 4 種 Object 類型的列表的消息,如其 XmlElements 列表中所述。 我目前正在為此編寫 Rest 實現,我的問題是 Postman 是否可以發送包含 Object 類型列表的消息正文。 當我發送一個原始的 JSON 主體進行測試時,我收到了我的 object,但它的列表是 null。</p><p> 這是只有一種類型的消息的示例。</p><pre class="lang-json prettyprint-override"> { "listObject": [ { "type1":{ "var1": "String", "var2": "String", "var3": "Instance", "var4": "String", "var5": "String", "var6": Integer, } } ] }</pre><p> 這是我接收帖子的代碼</p><pre class="lang-java prettyprint-override">@RestController public class ExampleRestController{ @Autowired ServiceObject service; @PostMapping(value="path/example", produces=MediaType.APPLICATION_JSON_VALUE) public ResponseType example(@RequestBody ExampleObj obj){ return service.handleObj(obj); } } public class ExampleObj{ protected List&lt;Object&gt; listObject; public List&lt;Object&gt; getListObject{ if(listObject == null) listObject = new ArrayList&lt;Object&gt;(); return listObject; } }</pre><p> 在編寫消息正文時,我確保使用我正在嘗試測試的 object 的變量名稱,但是當我測試時,我收到一個列表 null。</p><p> 是否可以使用 Postman 發送類型為 Object 的列表?</p></div></object> 如何在 postman 中發送包含 arraylist 的 Object 使用Postman以POST方法發送嵌套的json對象到Spring REST API 如何使用郵遞員休息客戶端發送對象以調用REST服務 如何解決通過 Z03D476861AFD3854510 測試 spring 引導 rest api 時遇到的錯誤? 嘗試發送類對象列表作為對REST API的響應
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM