0
@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 - 不支持的媒体类型。为什么会这样?

4

1 回答 1

0

检查您是否已@EnableWebMvc在 @Configuration 类中设置注释。

另外,尝试将以下依赖项添加到您的 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 对象。

于 2018-12-27T10:25:53.133 回答