“找不到可接受的表示形式” 406

时间:2019-06-27 10:15:45

标签: java spring rest spring-boot postman

我正准备进行POST操作:

我的控制器是:

@RestController
@RequestMapping({"/contacts"})
public class ContactController {
...
 @PostMapping(consumes = MediaType.APPLICATION_JSON_VALUE, 
            produces = {MediaType.APPLICATION_ATOM_XML_VALUE, MediaType.APPLICATION_JSON_VALUE})
  public Contact create(@RequestBody Contact contact){
      return repository.save(contact);
  }

联系方式是这样的:

@AllArgsConstructor
@NoArgsConstructor
@Data
@Entity
public class Contact {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String name;
    private String email;
    private String phone;

    public Contact(Long id, String name, String email, String phone) {
        super();
        this.id = id;
        this.name = name;
        this.email = email;
        this.phone = phone;
    }
    public Contact(String name, String email, String phone) {
        super();
        this.name = name;
        this.email = email;
        this.phone = phone;
    }
    public Contact() {
        super();
    }
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
}

我使用POSTMAN进行POST操作:

url:  http://localhost:8080/contacts (POST)body: JSON(application/json)--> {
"name": "Desperados",
"email": "fra@jot.it",
"phone": "88870999"
}
header: Content-type: application-json

我收到此异常:

{
    "timestamp": "2019-06-27T10:07:07.803+0000",
    "status": 406,
    "error": "Not Acceptable",
    "message": "Could not find acceptable representation",
    "path": "/contacts"
}

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

1)默认情况下,Rest控制器使用并生成JSON,您可能不需要提及它。 2)确保在PostMan中指定内容类型