@Configuration
public class XStreamMarshallerConfiguration extends WebMvcConfigurerAdapter {
@Autowired
private Jackson2ObjectMapperBuilder jackson2ObjectMapperBuilder;
@Override
public void configureMessageConverters( final List<HttpMessageConverter<?>> converters ) {
converters.add( createJsonConverter() ); // support JSON as default (because it is the first)
converters.add( createXmlHttpMessageConverter() ); // support XStream XML
super.configureMessageConverters( converters );
}
private MappingJackson2HttpMessageConverter createJsonConverter() {
ObjectMapper jsonMapper = this.jackson2ObjectMapperBuilder.build();
return new MappingJackson2HttpMessageConverter( jsonMapper );
}
private HttpMessageConverter<Object> createXmlHttpMessageConverter() {
MarshallingHttpMessageConverter xmlConverter = new MarshallingHttpMessageConverter();
XStreamMarshaller xstreamMarshaller = new XStreamMarshaller();
configureXStream( xstreamMarshaller.getXStream() ); // my XStream setup
xmlConverter.setMarshaller( xstreamMarshaller );
xmlConverter.setUnmarshaller( xstreamMarshaller );
return xmlConverter;
}
}
endpoint只被设计为生成JSON响应。Spring Boot 1.2.x中有一个bug,这意味着如果有合适的转换器可用并且Accept标头要求返回XML,它就可以返回XML,但存在XML格式错误的风险。
Spring Boot1.3通过限制endpoint只生成application/json
,而不管可用的HTTP消息转换器是什么来解决这个问题。
如果您希望执行器正式支持XML响应,那么请打开一个增强请求。
我正在用Spring Boot构建一些API,但是当我试图用Postman查询时,我得到了一些关于Content-Type的错误。 我不明白哪里出了问题。 我注意到错误消失时,我删除了@刚体作为参数的方法。为什么啊? 我只想: 将XML发送到API
我有两个API:s,端口8080上的CarRental API和端口8081上的CarRental CRUD。 CarRade-CRUD使用JpaRepository访问h2内存DB。 我想使用CarRental API,使用webclient向CarRental CRUD发出请求。 在CarRental CRUD中,我可以使用此服务发出post请求并将车辆添加到db中: 然后在控制器中: 我试图
我试图在安全上下文中对spring rest web服务API执行ajax跨域post调用。在Jquery中,我无法设置contentType属性,因为安全上下文有问题。但是如果没有来自spring的contentType,我会收到以下响应:415(不支持的媒体类型) Spring控制器: jQuery: 有一种方法可以在Spring上禁用contentType检查?我的所有数据都是json,我希
我有一个这样的用户类: 在LoadDatabase类中,我有: 这给了我这个: 现在,当我给这个命令时,它给我这个: 这很正确,虽然它给我的是电子邮件,而不是电子邮件。 但当我给予 上面写着: 这太可怕了。我正在学习本教程。 这是我的UserController课程: 更新后放置方法: 现在出现了两个问题。 为什么要用电子邮件代替电子邮件,如何用电子邮件代替电子邮件
问题内容: 我正在尝试使用jQuery 1.6(Jackson 2.1.1 和Spring 3.2.0 )通过JSON通过该方法向数据库中插入和/或更新数据。 JS代码如下。 通过URL映射的Spring控制器内部的方法如下。 服务器按照问题的含义进行响应, 415不支持的媒体类型 标头信息如下所示。 整个文件如下。 当我删除一个方法参数并仅用于接受请求参数时,它可以工作。 问题答案: 浏览器发送
问题内容: 我正在使用Spring 3.2,并尝试使用ajax发布请求来提交json对象数组。如果相关,我转义了所有特殊字符。 我的HTTP状态为415。 我的控制器是: jQuery是: 我发布的数组中的对象之一的示例是以下json: 错误是: 为什么会发生此错误-有人知道吗? 问题答案: 您可以尝试使用。它没有任何问题