当前位置: 首页 > 知识库问答 >
问题:

400 vs 422对引用未知实体POST的响应

邵崇凛
2023-03-14

我正在尝试用一个“类似REST”的API在不同的场景中返回什么正确的状态代码。

这个例子借用了另一个关于正文中语法类型问题的问题,但是我的问题假设整个语法都是有效的。

{
    "account_number": 45645511,
    "upc": "00490000486",
    "price": 1.00,
    "tax": 0.08
}
    null

这些都是阻止“处理”发生的业务层问题,然而,有一个场景涉及到GET中的404。

注意账号不在URL中,那么404是不是误导人呢?

共有1个答案

阎阎宝
2023-03-14

我们一次拿一个吧。这些代码中的每一个都是向您的客户端发出的信号,表明服务器正常工作,并且在请求中必须更改某些内容才能成功执行。

  • HTTP 400

400(Bad Request)状态代码指示服务器由于被认为是客户端错误(例如,错误的请求语法、无效的请求消息帧或欺骗性的请求路由)而不能或不会处理请求。

    null

404是当web服务器无法匹配任何内容的url路径时使用的标准代码。作为一个客户端,我应该在重试之前查看请求的URL。

  • HTTP 422

422(不可处理的实体)状态代码意味着服务器理解请求实体的内容类型(因此415(不支持的媒体类型)状态代码是不合适的),并且请求实体的语法是正确的(因此400(错误请求)状态代码是不合适的),但是无法处理包含的指令。例如,如果XML请求体包含格式良好(即语法正确)但语义错误的XML指令,则可能发生这种错误情况。

http://www.myservice.net/endpoint

归根结底,这些都是设计首选项,只需确保您将它们清晰地传达给您的用户。

 类似资料:
  • 问题内容: 我收到以下hibernate异常: 简化的Matchup类如下所示: 简化的Team类如下所示: 笔记: 比赛和团队都有子类。我不确定这是否会影响局势。 我的persistence.xml中列出了Matchup和Team都包括在内。 如果我在两个getter方法上都使用@Transient批注,该错误将消失。 谁能阐明为什么会发生这种异常? 问题答案: 我发现了问题:我没有将Team类

  • 我有几个从db动态创建的实体类,但是当我用关系注释它们时,我有以下错误 组织。冬眠AnnotationException:mappedBy引用未知的目标实体属性:coma。实体impl。能力标准实施。昏迷中的能力。实体impl。胜任力impl。能力标准执行 我的实体类如下 和 我对冬眠感到困惑和绝望。。。

  • 查询: 错误: 在我的网上搜索中,几乎所有论坛主题的答案都是一致的:“把@实体放在类声明之前”,但是,这对我来说不起作用。

  • 您好,我是JPA Spring boot的新手,现在我正在尝试将两个表之间的连接转换为第三个表。所以我有一个医生和病人表,其中有它的属性,一个医生可以检查每个病人,一个病人可以看望每个医生。但是在一次检查中,不能有超过一个病人和一个医生。对于医生,我想保留他们检查过的患者的信息,分别是患者的信息,以及他们检查过的医生的信息。我想创建一个名为DoctorVisit的中间表,其中我有做检查的医生的id

  • 问题内容: 我在被注释的对象中建立一对多关系时遇到问题。 我有以下几点: 然后这个 和这个 我在这里做错了什么 问题答案: 该属性正在引用,而该属性是,因此出现错误消息。因此,请将您的映射更改为: 或者将实体属性更改为(这就是我要做的)。 mapledBy参考指示“在我有一个用于查找配置的集合的东西上查找名为’customer’的bean属性。”

  • 问题内容: 我正在尝试入门Hibernate 2nd Edition,而我一直试图将简单的工作示例与HSQLDB结合在一起。 当我跑步时,我得到 这是我得到的: Message.java PopulateMessages.java build.properties hibernate.cfg.xml build.xml 问题答案: 您的实体注释不正确, 必须 使用注释。您可以使用Hibernate