私有 REST 端点是否应该在错误消息中显示参数名称?

Should private REST endpoints reveal the parameter names in error messages?

我的问题是关于参数名称是否在错误消息中公开。

例如,假设 public 端点是 https://foo.bar.com/api/results?first=abcd。它的代码应该检查用户指定的参数名称是否正确,如果拼写错误,则应生成错误通知用户。

问题:

  1. 错误消息是否应包含参数名称(第一个)?
  2. 如果端点是私有的怎么办?错误消息是否应包含参数名称?
  3. 简而言之,私有端点是否应该显示参数名称?

REST 和 HTTP 都不关心。 REST 说我们应该使用统一的接口和标准化的消息。 HTTP 定义了标准化响应,并表示具有客户端错误语义的响应应包括

a representation containing an explanation of the error situation, and whether it is a temporary or permanent condition.

由您决定对错误情况的何种解释是有用的,以及它应如何在 HTTP 响应中表示。