提问人:Pradeep Mishra 提问时间:11/17/2023 更新时间:11/17/2023 访问量:18
如何在 kotlin Springboot 中从 RestAPI 获取 Json 响应
How to get Json Response from RestAPI in kotlin Springboot
问:
最近,我将 SpringFox 更新为 Springdoc 开放 API 以进行与 swagger 相关的更改,显然,我观察到我所有的 API 响应都是 XML 格式,而之前它们是 JSON 格式。以下是我的 swagger 和 Jackson 依赖项文件片段build.gradle.kts
build.gradele.kt:
id("org.springframework.boot") version "2.7.11"
id("io.spring.dependency-management") version "1.0.15.RELEASE"
kotlin("jvm") version "1.8.0"
kotlin("plugin.spring") version "1.6.21"
id("org.jetbrains.kotlin.plugin.jpa") version "1.6.21"
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.11.1")
implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.11.1")
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.11.1")
implementation("org.springdoc:springdoc-openapi-webmvc-core:1.7.0")
implementation("org.springdoc:springdoc-openapi-ui:1.6.12")
implementation("org.springdoc:springdoc-openapi-data-rest:1.7.0")
implementation("org.springdoc:springdoc-openapi-kotlin:1.7.0")
implementation("com.github.kittinunf.fuel:fuel:2.3.1")
implementation("com.github.kittinunf.fuel:fuel-jackson:2.3.1")
我尝试删除依赖项,它有效,但对于某些具有 XML 响应的 API,它给了我一个错误。implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.11.1")
controller.kt:
@Tag(description = "ABC details API", name = "abc")
@RestController
@RequestMapping("/api/x1")
class detailController(val detailService: DetailService) {
@Operation(summary = "API to fetch details")
@ResponseStatus(HttpStatus.OK)
@GetMapping("/product/{id}", produces = ["application/json"], consumes = [MediaType.ALL_VALUE])
@ApiResponse(responseCode = "200", description = "Ok",
content =
[Content(mediaType = "application/json", schema =
Schema(implementation = DetailsResponseDTO::class))])
fun fetchDetails(@Parameter(name = "productId", required = true)
@PathVariable("productId", required = true) productId:Int
): ProductDetailsResponseDTO? {
return productDetailService.fetchDetails(productId)
}
}
请提出建议。
答: 暂无答案
评论