gpt4 book ai didi

java - Cloud Endpoints 中的 UnauthorizedException 与 OAuthRequestException 之间有什么区别?

转载 作者:太空宇宙 更新时间:2023-11-03 15:38:06 25 4
gpt4 key购买 nike

在 Cloud Endpoints 中,我了解到在执行 OAuth 时我需要检查是否 user == null 以确定用户是否已通过身份验证。如果用户为空,我应该抛出异常。在示例 Google Cloud Endpoints 代码片段中,我看到使用了两个不同的异常。

OAuth documentation for cloud endpoints表示抛出 OAuthRequestException。但是,我看到其他代码库(包括 Udacity Course)抛出 UnauthorizedException

我注意到 OAuthRequestException 没有从 com.google.api.server.spi.ServiceException 扩展,所以我认为 UnauthorizedException 是正确的选择?

我应该使用哪个?

最佳答案

我会坚持使用 UnauthorizedException',因为它从 ServiceException` 类扩展而来。根据 https://developers.google.com/appengine/docs/java/endpoints/exceptions 处的文档从 API 最佳实践中,建议以抛出正确的 HTTP 状态代码的方式映射异常。

因此,在 UnauthorizedException 的情况下,将抛出 HTTP 401。

这是我通常在我的代码中做的,我相信(你可以尝试!)你会看到一个标准的捕获所有 HTTP 错误代码被抛出,以防你抛出像 OAuthRequestException 这样的异常> 不扩展 ServiceException(HTTP 503 或 HTTP 500)

关于java - Cloud Endpoints 中的 UnauthorizedException 与 OAuthRequestException 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25290515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com