【问题标题】:404 error when post in Postman在 Postman 中发布时出现 404 错误
【发布时间】:2018-08-04 19:22:31
【问题描述】:

我正在尝试发送一个包含联系人列表的 Person 对象的 POST 请求。 但我不知道这是否是发送列表的正确语法:

 {
    "name":"romulo",
    "contacts" :  [ 
        { 
            "contact" : "3466577" 

        },
            { 
            "contact" : "532423" 

            }
        ]
    }

但让我返回 404 错误

我做错了什么?

发布方式:

@PostMapping("/person")
public void addPerson(@Valid @RequestBody Person person) {
    Person savedPerson = personRepository.save(person);
    List<Contact> contacts = person.getContacts();
    for (Contact contact1 : contacts) {
        contactRepository.save(contact1);
    }

}

【问题讨论】:

  • 那么有没有关于这个 API 的文档,如果有,你检查了吗?
  • 我认为它必须返回ResponseBody,当前方法什么也不返回,因此404错误是基本原理。
  • 这是一个我正在尝试做的测试:联系人列表 创建一个 REST API 来存储人和他们的联系人。一个人可以有多个联系人,例如电话、电子邮件或whatsapp。 API 应该允许创建、更新、获取和删除人员和联系人。
  • 我试图返回一个 Person 对象,但没有任何改变。我映射有什么问题?
  • 我们需要有关您要拨打的地址的更多详细信息。找不到端点时 Spring 返回 404。

标签: spring postman


【解决方案1】:

当服务器无法找到与您的确切请求匹配的方法时,将返回 HTTP 404。

对于上述请求,url 为http://&lt;context&gt;/requestpath,请求方法为 POST。(http://localhost:8080/person)

检查请求正文,所有字段都应与 Person 对象完全匹配,否则它可能会返回 HTPP 400。

【讨论】:

  • 您好,谢谢您的回答。正确的 url 是:localhost:8080/api/person,因为基本 url 映射 @RestController @RequestMapping("/api") 公共类 ContactController。我试图把所有的字段,但仍然没有工作:{“personId”:1“name”:“romulo”,“contacts”:[{“id”:1“contact”:“3466577”},{“contact " : "532423" } ] }
【解决方案2】:

在我的情况下,这是一个简单的错误,花了一个小时才弄清楚我的网址末尾有空间。

【讨论】:

  • 在我的情况下,我的端点 url 末尾有一个空格,我在 Postman 中删除了它:V
猜你喜欢
  • 2021-01-12
  • 2017-06-24
  • 2016-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-26
  • 2021-11-07
  • 1970-01-01
相关资源
最近更新 更多