我有一个简单的 API 端点“api/machines/sum”,它与另一个 API 服务集成来处理值。
有时我正在集成的 API 可能离线/不可用。因此,我尝试返回 503 - 我的 API 无法提供服务,因为我的服务无法使用依赖的 API 离线处理任何内容
我的 API 服务运行正常,但依赖项不行。
从语义上讲,“服务不可用”的描述对我来说是有意义的。503状态码的使用方法是否正确?
样本:
public async Task<IActionResult> Sum(string value)
{
try
{
ProcessValueFromAnotherAPI(id);
}
catch (AppIntegrationException)
{
return StatusCode(StatusCodes.Status503ServiceUnavailable, "custom message");
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个有趣的问题 - 因为 503 通常指的是您正在调用的实际服务(在本例中为您的 API)。我认为从 API 返回正常响应更合适,但可能使用一个指示状态的对象:
{ "status" : "offline" }
这向调用者传达了您的 API运行状况良好的信息,并且您的 API 是否实际返回 503 也毫不含糊。
| 归档时间: |
|
| 查看次数: |
3624 次 |
| 最近记录: |