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

如何区分不存在的服务还是缺少记录?

闾丘康安
2023-03-14

我正在创建一些REST服务,在实现GET请求时,我正在讨论如果那里没有记录该怎么办,例如/profile/1234。现在,如果您尝试使用/profiles/1234(注意profiles上的s),它肯定是404代码,因为该URL肯定找不到。但是当谈到没有1234个人资料时,我不确定应该返回什么。我不想返回{},因为这可能会给人留下没有数据的记录的印象。但是如果我返回一个404错误代码,API的使用者应该如何分辨这两个404之间的区别呢?

我怎样才能通过编程方式沟通不存在的服务和不存在的记录之间的区别,从而成为负责任的API设计师?

共有1个答案

阚小云
2023-03-14

您可以发送自定义状态消息,这将帮助您区分不同的404s。

另一方面,我不会担心这种区别。人们习惯于必须仔细键入apiendpoint。只要他们手动测试他们的应用程序一点点,这个问题就不会成为问题。

 类似资料:
  • 我需要你的帮助, 似乎我在尝试在容器div内的textarea周围添加div以及包含容器div底部按钮的div边框时遇到了一些困难。 第一个问题:右侧边框丢失 第二个问题,inner2 div缺少1px纯红。 以下是问题和期望结果的图片: 预期结果是: 这里是超文本标记语言

  • 我正在玩OpenTelemata,并有这样的设置: Golang,docker compose,3个服务,1个独立的开放式遥测采集器,1个Prometheus。 我将一些系统指标收集到一个独立的开放遥测收集器。这些指标是从3个不同的服务收集的,并且指标具有相同的名称。然后,Prometheus从开放遥测收集器获取数据。问题是我无法区分Prometheus中不同服务的指标,因为所有指标都具有相同的“

  • 问题内容: 知道为什么我会收到此错误: persistence.xml mydatasource-ds.xml module.xml 问题答案: 错误的原因是您缺少依赖java:jboss / datasources / UserDS。使用Jboss 7.x +,您可以将这些数据源直接添加到您发现的应用服务器配置中。 独立配置和域配置之间的区别在于,独立配置仅针对具有该配置的一台应用服务器而设计。

  • 问题内容: 下载elasticsearch并按照此链接中的步骤解压缩后: 在Windows上安装Elastic Search 我收到以下错误: 注意:我还必须按照此决议的建议安装JDK8 我应该更改.config文件中的内容吗?也许这条线? 问题答案: 将环境变量设置为指向 JDK 8 安装路径。 您可以在命令行上执行此操作,如以下示例所示: 使用以下命令确认您使用的是正确的JDK版本:

  • 这个问题与这个主题有关: Spark 2.2 Scala 数据帧从字符串数组中选择,捕获错误 我需要区分缺少列的记录(这在我的用例中不是错误)和具有不适用于列类型的垃圾值的记录。 在执行selectExpr之后,这两种情况在结果数据帧中都显示为null。我正在寻找一种快速的方法,将缺少列的记录包含在好的结果中,同时将具有垃圾值的记录放入坏桶中。不好的可能包括像一个值为空字符串的int字段,或者“a

  • 我在服务器上下载了oracle WebLogic Server 12c并创建了一个域。weblogic服务器已启动并正在运行,但当我进入deployments部分时,它是空的,没有安装库。 在JDeveloper中创建本地WebLogic服务器时,默认情况下会在服务器上安装和部署一些基本库。但是在服务器端单独安装WebLogic服务器的情况下,部署部分是空的,并且缺少一些关键库,如adf。神谕域(