簡體   English   中英

Spring Boot @RestController無法自動將響應轉換為JSON

[英]Spring Boot @RestController cannot auto convert response to JSON

我在Spring Boot Application中遇到了一個小問題。 根據我的理解,Jackson依賴項是使用spring-boot-starter-web和序列化/反序列化對象自動配置為json,用於注釋為@RestController的類。

問題是它沒有預期的相同行為,而是以普通/文本格式返回響應。

以下是我嘗試執行的代碼段。

@GetMapping(value = "/user/",produces = "application/JSON")
public List<String> getUser(){

    List<String> newUsers = new ArrayList<String>();
    newUsers.add("User 1");
    newUsers.add("User 2");
    newUsers.add("User 3");
    return newUsers;
}

響應: 在此輸入圖像描述 有人可以告訴我,我在這里做錯了什么?

謝謝J

是的,只是一個JSON數組也是一個有效的JSON。 如果要以對象形式輸出JSON,如:

{
   "users":["User 1","User 2","User 3"]
}

你可以做 :

@GetMapping(value = "/user/",produces = "application/JSON")
public Map<String,Object> getUser(){
    Map<String,Object> result = new HashMap<String,Object>();
    List<String> newUsers = new ArrayList<String>();
    newUsers.add("User 1");
    newUsers.add("User 2");
    newUsers.add("User 3");
    result.put("users" , newUsers);
    return result;
}

暫無
暫無

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

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