REST API 错误消息是否应该国际化? [关闭]

2024-04-18

在设计 REST API 的错误时,遵循标准 HTTP 代码(4XX 和 5XX)并包含主体(XML/JSON)似乎是一个很好的做法:

  • 简短的信息
  • 描述
  • code

我的问题是……这些消息应该国际化吗?

我倾向于认为向客户端显示消息是客户端的责任,并且这些 API 错误应被视为客户端应用程序和 API 之间的协议(格式和代码字段),但默认情况下不应被视为完全适合直接暴露给客户端,因此格式化最终消息“哎呀......出了问题”应在客户端完成。在其他情况下,我可以看到 API 部署,因为 P.O.需要将“Oops”更改为“Uups”之类的东西,这看起来完全像是与客户端应用程序的外观和感觉相关的东西恕我直言。


你是对的,大多数时候你不需要向客户端公开 REST 异常,因为 REST 错误技术性太强。

仍然有一些应用程序会选择让用户“深入研究技术错误” - 但即使是这种情况,我相信最终用户也明白我们现在处于“技术细节”区域并且不会期望翻译消息的内容(+翻译技术消息在除英语之外的其他语言中听起来并不好)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

REST API 错误消息是否应该国际化? [关闭] 的相关文章

  • REST Web 服务 - 动态查询参数

    我需要将动态查询参数发送到 REST Web 服务 GET 方法 如下所示 主机 端口 应用程序 field1 XXX value1 VVV field2 XXX value2 XXX 消费者可以发送参数最多为字段和值 每个字段都映射到值
  • PHP - 停止显示错误中的完整路径

    有什么方法可以告诉 PHP 不显示错误 警告或通知消息中存在任何错误的文件的完整路径 我知道我可以禁用错误 但是 只是为了避免任何风险 例如 我的脚本返回一个错误 显示如下 Fatal error Call to undefined fun
  • WebAPI如何处理嵌套资源?

    我正在寻找有关使用 WebAPI 2 时最佳实践的意见和建议 假设我有两个控制器 用户和书籍 并且想要接受这些路由 users user id books lt books owned by user id books lt all boo
  • 如何使错误冒泡,以便可以在同一个 try/catch 块中捕获它们?

    我有一个带有抛出错误的函数的对象 myObj ini function this f f function throw new Error 但我只想捕获创建对象的异常 try var o new myObj catch err alert
  • 如果 POST 成功但没有创建任何新内容,我们应该返回什么状态代码?

    我们有一个端点 当您发布创建新版本的资源时 它会返回 201 和新创建的资源的位置 它根据当前版本和发布的版本 使用类似 semver 的规则集 的比较来确定新版本号 如果您发布的版本与现有版本相同 则不会更新版本号 在这种情况下我们应该返
  • Struts 2 如何从自定义验证器中获取 i18n 消息

    如何从自定义验证器中的 key 获取消息 正如中提到的Struts 2 重用自定义表达式验证器 https stackoverflow com questions 28038827 struts 2 reusing custom expre
  • 如何在 Angular i18n 路由器模块中使用 LOCALE_ID

    我正在使用 Angular 的 i18n 设置构建一个小型 Angular 应用程序 除了 url 路径和 slugs 的翻译之外 一切都工作正常 我尝试了一种可能的解决方案 为每种语言提供一个路由模块 如此处所述 但这不起作用 我以为我可
  • Spring Security - 基于令牌的 API 身份验证和用户/密码身份验证

    我正在尝试创建一个主要使用 Spring 提供 REST API 的 Web 应用程序 并尝试配置安全方面 我正在尝试实现这种模式 https developers google com accounts docs MobileApps h
  • 响应中的有效 JSON

    我正在开发客户端和服务器应用程序 遇到了一个有趣的问题 我们正在创建一个 Restful API 并通过 JSON 响应与客户端进行通信 执行 DELETE 时 我们将返回 200 OK 和空白响应 我们的客户收到 200 OK 但解析 J
  • Spring RestTemplate 调用读取超时

    我有一个返回 json 的 API 它的类型为 GET 方法 由于它是 GET 当我在浏览器中打开 URL 时 它工作正常并呈现 json 但是 在使用 RestTemplate 检索 json 时 它失败了 您能否提供一种阅读下面 API
  • 将额外参数传递给 Django Rest Framework 中的 Serializer 类

    我想从 Viewset 向 DRF Serializer 类传递一些参数 所以我已经尝试过 class OneZeroSerializer rest serializer ModelSerializer def init self args
  • Restful服务参数不匹配异常

    我有服务 POST Path post Consumes application json public Response createProductInJSON Product product String result Product
  • 如何返回空实体的响应状态 405?

    如何在 java REST 中返回带有空实体的响应状态 405 POST Path path public Response createNullEntity return Response created null status 405
  • 如何将跨源资源共享与 Spring MVC 4.0.0 RESTful Webservice 集成

    我有一个简单的 Web 服务返回JSON data The 用户等级 com bargadss SpringService Domain 是个POJO类包含 用户 ID 名字 姓氏 电子邮件 The 用户服务类 com bargadss S
  • exit() 和 abort() 有什么区别?

    在C和C 中 有什么区别exit and abort 我试图在发生错误 不是例外 后结束我的程序 abort http en cppreference com w c program abort退出程序而不调用使用注册的函数atexit h
  • 如何使用 Docusign 的 REST API 预填充从模板创建的信封中的字段?

    注意 我使用的是 经典 体验 因为新界面无法让模板为未来的签名者设置必填字段 工作流程 有一个包含一堆字段的模板 使用 API 从模板创建一个信封 文档 并指定一个新用户进行签名 该文档将成为注册服务的协议 创建新角色 在模板上将 role
  • PHP 构造函数返回 NULL

    我有这个代码 是否有可能User对象构造函数以某种方式失败 以便 this gt LoggedUser被分配了一个NULL构造函数返回后值和对象被释放吗 this gt LoggedUser NULL if SESSION verbiste
  • 如何抑制 C# 中方法调用的错误?

    我正在寻找一种 优雅 的方法来在调用方法时抑制异常 我认为下面的代码太冗长了 try CallToMethodThatMayFail 3 catch 是否有一些语法糖我可以用来说 我真的不在乎这个方法是否失败 我想调用该方法并继续执行 无论
  • 正确的需要授权的资源的http状态代码

    如果用户尝试访问需要用户登录的页面 则返回的正确 http 状态代码似乎存在很多混乱 那么当我显示登录页面时基本上会发送什么状态代码 我很确定我们需要在4xx range 我在这里讨论的不是 HTTP 身份验证 因此我们至少不会使用 1 个
  • Antlr 处理异常

    我使用 Antlr 3 和 AST 树开发了一个复杂的语法 ANTLR 生成词法分析器和解析器 问题是 例如 当用户输入无效的语法时 该语法需要 用户没有输入此内容 然后在我的 Eclipse IDE 中出现以下异常 line 1 24 m

随机推荐