宁静的网络服务 415
Posted
技术标签:
【中文标题】宁静的网络服务 415【英文标题】:Restful web service 415 【发布时间】:2019-05-25 08:41:02 【问题描述】:@RestController
@RequestMapping(value="/uri",produces = "application/json",
consumes="application/json")
public class VisitorService
VisitorDAO vis=new VisitorDAO();
@RequestMapping(value = "/ex" ,method = RequestMethod.POST)
public String showDetails(@RequestBody VisitorDTO visitor)
vis.addVisitorEntry(visitor);
return "success"+visitor;
以上是我的休息服务。 每当我使用带有以下 JSON 的 URL 发布帖子时,
"phoneNumber" : 188892,
"name" : "kikiki" ,
"email" : "loa@gmail.com",
"purpose" : "Business",
"hostName" : "sjs S Murthy"
我收到 HTTP 状态 415 – 不支持的媒体类型。 为什么会这样?
【问题讨论】:
可能是您在 HTTP 请求中缺少Accept: application/json
?
您如何调用其余服务,我的意思是您使用邮递员?在那里检查您的内容类型
不,通过邮递员发送请求,已使用 application/json 标头发送请求。
是的,添加了内容类型-appplication/json
【参考方案1】:
检查您是否在@Configuration 类中设置了@EnableWebMvc
注释。
另外,尝试将以下依赖项添加到您的 pom.xml 中(如果不使用 Maven,只需将它们添加到您的类路径中,但您喜欢)。
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>$jackson-version</version> // 2.4.3
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>$jackson-version</version> // 2.4.3
</dependency>
Spring 使用 Jackson 和 Jackson-databind 将请求的 JSON 正文解析为 Java 对象。
【讨论】:
使用过基于xml的配置 尝试将其添加到您的 xml 配置中:<mvc:annotation-driven />
,您仍然需要在类路径中使用 Jackson 库。以上是关于宁静的网络服务 415的主要内容,如果未能解决你的问题,请参考以下文章