春天的WebClient把映射:内容类型“应用/ JSON的”不支持

因为:

我试图使用Web客户端通过REST另一个服务调用,但我总是得到错误:

org.springframework.web.reactive.function.UnsupportedMediaTypeException:内容类型“应用/ JSON的”不支持

所有分配有依赖的相同版本,调用资源,通过邮差工作正常。问题是,当第一应用程序,充当代理(客户端),试图调用一个第二(服务)

我的服务器资源:

@RequestMapping(value = "/properties")
@PutMapping(consumes = APPLICATION_JSON_UTF8_VALUE)
@ResponseStatus(CREATED)
public void saveProperty(@Valid @RequestBody PropertyForm form) {
    service.save(new PropertyImpl(form));
}

我的客户资源:

WebClient client = WebClient.create(serviceUrl);

Mono<Void> save(PropertyForm form) {
    return client.put()
            .uri("properties")
            .contentType(MediaType.APPLICATION_JSON_UTF8)
            .body(BodyInserters.fromObject(form))
            .retrieve()
            .bodyToMono(Void.class);
}

我的build.gradle文件:

dependencies {
    compile "org.springframework.boot:spring-boot-starter-reactor-netty:2.0.4.RELEASE"
    compile "org.springframework.boot:spring-boot-starter-web:2.0.4.RELEASE"
    compile "org.springframework:spring-webflux:5.0.4.RELEASE"

    compile "javax.xml.bind:jaxb-api:2.3.0"
}

我失去了一些依赖,使JSON的contentType?这个例子很简单,但对我来说也很成问题。

表单模型:

class PropertyForm {

    private String group;
    private String key;
    private String value;
    // getters & setters
}

来源:https://gitlab.com/Berilzar/Sandbox

因为:

我终于找到了答案。问题是在发送形式实际上。形式的范围是包一样,同样设置器/吸气剂。我已提取的PropertyForm到API模块,并取得一切公开后,据称工作。

因此,解决办法是,以取代形式:

public class PropertyForm {

    private String group;
    private String key;
    private String value;
    // public getters & setters
}

感谢您的帮助和时间。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

不支持WebClient

Angular 8 415 不支持的媒体类型,不支持内容类型“application/json”+Spring Boot

“内容类型‘应用/ JSON;字符集= UTF-8’不支持”,在春季REST应用

不支持集合类型“Newtonsoft.Json.Linq.JObject”

HTTP 415 JSON不支持的媒体类型错误

Codeception异常:json_encode():不支持的类型

json_serializable插件不支持“文件”类型?

scrapy hal + json不支持的响应类型

内容类型“应用/ JSON的;字符集= UTF-8”不支持,当我试图JSON发送到春天

Automapper,不支持的映射

SormException不支持的类型

不支持内容类型标题

“窗口”类型不支持直接内容

POST上的Spring MVC不支持内容类型'application / json'

Spring Boot MVC-不支持内容类型'application / json; charset = UTF-8'

不支持Netflix Feign内容类型'pplication / json; charset = UTF-8'

Spring MVC和Jackson不支持内容类型'application / json'

发布到restController时不支持内容类型'application / json; charset = UTF-8'

警告:已解决 [org.springframework.web.HttpMediaTypeNotSupportedException:不支持内容类型“应用程序/json”]

Automapper缺少类型映射配置或不支持的映射?

*:不支持的操作数类型:映射和映射

Automapper 6.0。缺少类型映射配置或不支持的映射

此安装不支持项目类型

Capistrano不支持的密钥类型

Tesseract OCR:不支持的图像类型

JQuery 不支持的媒体类型

不支持的类型“USB 设备”

Avro Maven 插件:不支持类型

类型化地图不支持索引