java - 获取 Swagger 消息中的 HttpStatus ReasonPhrase 文本

标签 java swagger http-status-codes apache-httpcomponents

使用org.apache.http

<dependency>
   <groupId>org.apache.httpcomponents</groupId>
   <artifactId>httpclient</artifactId>
   <version>4.5.2</version>
</dependency>

描述端点上的 swagger 配置(不过,这不仅仅是库的唯一目的),如下所示:

@ApiResponses(value = {
    @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = "Bad Request"),
    @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "Server Error")
})

我想要做的是将“错误请求”替换为等效的枚举(据说)以避免每次都对消息进行硬编码。

第一季度 - 我尝试在 HTTP 包中查找,但找不到。是否有任何现有的已知枚举/类的原因短语可以实现此目的?

Q2 - 另一种想法是,我可以从 HttpStatus.java 获取变量名称(因为变量名称本身作为短语就足够了)。但疑问又是implementing reflection由于某种原因短语,业务逻辑的成本可能会更高。因此,简而言之,我主要为此目的而尝试关注第一季度。

注意 -当然,由于事实上,我不想仅仅为了获取原因短语而显式定义依赖关系。

最佳答案

我最终做的是添加一个具有相当于 org.apache.HttpStatus 的静态字符串包的类。整数代码,例如 -

public class SwaggerMessage {

    public static final String SC_OK = "OK";
    public static final String SC_CREATED = "Created";
    public static final String SC_ACCEPTED = "Accepted";
    public static final String SC_NO_CONTENT = "No Content";

    public static final String SC_MOVED_PERMANENTLY = "Moved Permanently";

    public static final String BAD_REQUEST = "Bad Request";
    public static final String SC_UNAUTHORIZED = "Unauthorized";
    public static final String SC_FORBIDDEN = "Forbidden";
    public static final String SC_NOT_FOUND = "Not Found";

    public static final String SC_INTERNAL_SERVER_ERROR = "Server Error";
    public static final String SC_NOT_IMPLEMENTED = "Not Implemented";
    public static final String SC_SERVICE_UNAVAILABLE = "Service Unavailable";

}

注意 - 仍在寻求更清洁的解决方案,上述内容符合我在实现的服务中的需要。

关于java - 获取 Swagger 消息中的 HttpStatus ReasonPhrase 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40993832/

相关文章:

ios - 在 iOS 中,http 204 响应返回空白页面,有办法阻止这种情况吗?

java - 在 Websphere WebApp 中将 JUL 重定向到 Log4J2

java - 如何检索文本文件中的特定字符串并根据字符串中的元素进行排序?

java - 该字符串是否包含 ASCII zenkaku?

java - Swagger-ui - 列表参数编码

swagger - JSON模式到GraphQL模式转换器

http - 如何使用 HttpListener/HttpListenerResponse 返回带正文的错误页面

java - 如何在 Spring Boot 中测试对外部 api 的调用

rest - 如何格式化 Swagger 2.0 文本描述?

ajax - 如果方法只需要 ajax 调用,返回什么错误?