![](/img/trans.png)
[英]Spring boot API response(application/json) convert to response (text/xml)
[英]How is response converted to JSON in spring boot web application?
我沒有在我的 pom.xml 中包含 jackson-databind。 但是,當我調用一個返回 object 的端點時,它會轉換為 JSON。 如果我的 pom 不包含 jackson-databind,那么響應如何轉換為 JSON。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.0</version>
<relativePath />
</parent>
<dependencies>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
@RestController 公共 class TradeController {
@RequestMapping("/trade")
public Trade hello() {
String helloWorldMessage = "Hello world from java2blog!";
Trade t = new Trade();
t.setId(1);
return t;
}
}
調用 http://localhost:8080/trade 返回 {"id":1}
如果您運行mvn dependency:tree
,您將看到默認包含在spring-boot-starter-web
依賴項中的所有依賴項。 請注意,其中包含 jackson-databind。
前任:
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:2.4.3:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-json:jar:2.4.3:compile
[INFO] | | +- com.fasterxml.jackson.core:jackson-databind:jar:2.11.4:compile
[INFO] | | | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.11.4:compile
[INFO] | | | \- com.fasterxml.jackson.core:jackson-core:jar:2.11.4:compile
[INFO] | | +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.11.4:compile
[INFO] | | +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.11.4:compile
[INFO] | | \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.11.4:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.4.3:compile
[INFO] | | +- org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.43:compile
[INFO] | | +- org.glassfish:jakarta.el:jar:3.0.3:compile
[INFO] | | \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.43:compile
[INFO] | +- org.springframework:spring-web:jar:5.3.4:compile
[INFO] | | \- org.springframework:spring-beans:jar:5.3.4:compile
[INFO] | \- org.springframework:spring-webmvc:jar:5.3.4:compile
[INFO] | +- org.springframework:spring-aop:jar:5.3.4:compile
[INFO] | \- org.springframework:spring-expression:jar:5.3.4:compile
在幕后,spring 正在利用 jackson 模塊將您的響應轉換為 JSON。
答案是
@RestController
@RequestMapping(value = "mycontroller")
public class MyController {
@RequestMapping(value = "/trade")
@ResponseBody
public ResponseEntity<String> hello() {
JSONObject res = new JSONObject();
String helloWorldMessage = "Hello world from java2blog!";
Trade t = new Trade();
t.setId(1);
res.put("student Object",t);
return new ResponseEntity<>(res.toString(),HttpStatus.OK);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.