宁静的网络服务 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 配置中:&lt;mvc:annotation-driven /&gt;,您仍然需要在类路径中使用 Jackson 库。

以上是关于宁静的网络服务 415的主要内容,如果未能解决你的问题,请参考以下文章

设计一个宁静的服务

使用按钮单击调用宁静的服务

使用 OKHttp 获取我的宁静服务响应 null

我正在学习在实施时做宁静的网络服务我得到以下错误帮助我解决

wcf 宁静服务中的长时间计算

ACID 如何在宁静的微服务架构中工作