@ApiModel(value = "TestBody)
public class TestBody
@JsonProperty("Attribute")
@ApiModelProperty(value = "attribute", dataType = "string",allowableValues = "EntitlementNo,OfferingID",required = true)
private String attribute;
@JsonProperty("Operation")
@ApiModelProperty(value = "operation", dataType = "string",allowableValues = "eq,isnull")
private String operation;
@ApiModelProperty(value = "dataType", hidden = true)
private String dataType;
@JsonProperty("Values")
@ApiModelProperty(value = "values", dataType = "List")
private List<String> values;
@JsonProperty("SubQueryFilters")
@ApiModelProperty(value = "subQueryFilter", dataType = "List")
private List<QueryFilter> subQueryFilters;
对应的JSON文件
......
"definitions": {
"TestBody": {
"type": "object",
"required": [
"Attribute"
"properties": {
"Attribute": {
"type": "string",
"description": "attribute",
"enum": [
"EntitlementNO",
"OfferingID"
"Operation": {
"type": "string",
"description": "operation",
"enum": [
"eq",
"isnull"
"SubQueryFilters": {
"type": "array",
"description": "subQueryFilter",
"items": {
"$ref": "#/definitions/QueryFilter"
"Values": {
"type": "array",
"description": "values",
"items": {
"type": "string"
......
一、JSON、JAVA注释对比说明1、@Api注释在Control层,作用在类上面,对Control层进行描述属性说明备注tags声明分组valuedescriptionexample :JAVA注释:@Api(tags=&quot;TEST&quot;,description=&quot;TEST Control&quot;)public class TestImple{...
API2Swagger
手动生成和维护用于REST服务的Swagger JSON可能会很痛苦,因为您必须提供有关REST服务的太多详细信息。 为了避免这项手动工作,我们开发了API2Swagger工具,可通过调用REST服务自动生成Swagger JSON。
使用构建器进行Swagger JSON生成
使用命令行实用程序生成Swagger JSON
从JSON响应数据生成JSON模式
使用新API更新现有Swagger JSON文档的功能
通过API相关修改来修改现有Swagger JSON的能力-包括添加新的请求参数,响应更改
能够通过REST API识别“文件”下载,因为Swagger JSON文档具有处理文件下载的特殊方式
构建包含独立jar的项目
./gradlew clean buildall
可以在<root>/build/libs下找到
本文讲解了Swagger的特性以及如何在java项目中使用Swagger。另外如果你的项目使用Gson作为接口的json转换工具,那么本文还告诉你如何让Swagger兼容Gson。最后也介绍了Swagger的局限性。
Swagger概述
如何引入Swagger
解决Gson和springfox的兼容性
Swagger其它功能概述
Swagger的问题
随着...
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId
为什么要写这个自定义
注解,因为需求需要处理一批比较复杂的
json(如果只有一个,直接手动写
代码解析就好),众所周知批量且类似的工作,最好抽象出来。这也符合编程的风格,不重复造轮子,但是需要造轮子。【前面铺垫比较长,如果需求比较复杂的
json可以直接划到最下面,粘贴自定义
注解类 和 自定义
注解解析工具类】需要的字段也恰好是
对应上的
java对象
二、二星难度
json【
json对象中出现层级】
难度加大一些,比如,出现了层级
简单解析的话,我们可以再新建一个Like对象,如:
Swagger2 JSON入参使用Map、JSONObject等非实体类接收时的处理,基本就是扩展swagger插件通过注解动态生成实体类。
以下提供3种实现,可以按需选择:
一. ApiGlobalModel
ApiGlobalModel注解用于从一个已有的实体类中抽取接口所需的参数字段
* 修改地址 - ApiGlobalModel
* @return R
@PostMapping("2")
@ApiOperati
现在
SWAGGER官网主要提供了几种开源工具,提供相应的功能。可以通过配置甚至是修改源码以达到你想要的效果。
Swagger Codegen: 通过Codegen 可以将描述文件生成html格式和cwiki形式的接口文档,同时也能生成多钟语言的服务端和客户端的
代码。支持通过jar包,docker,node等方式在本地化执行生成。也可以在后面的
Swagger Editor中在线生成。
Swagger UI:提供了一个可视化的UI页面展示描述文件。接口的调用方、测试、项目经理等都可以在该页面中对相关
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。
接口的文档在线自动生成。
功能测试。
<!--
swagger 文档注释 https://mvnrepository.com/artifact/io.springfox/springfox-
swagger2 -->
<dependency>
@JSONField(name = "C-API-Status")
@JsonProperty("C-API-Status")
@ApiModelProperty(value = "响应码")
private String CApiStatus;
@JSONField(name = "C-Response-Code")
@JsonProperty("C-Response-Code")
@ApiModelProperty(value = "888888")
private String CResp.
<groupId>io.springfox</groupId>
<artifactId>springfox-
swagger2</artifactId>
<version>2.9.2</version>
</dependency>
记一次Swagger-UI的封装以及文档JSON数据的解析处理起源按照代码Controller包对接口进行分组文档JSON的自定义处理
Spring工程往往要最后形成文档,供其他人使用,尤其是开发的接口。Java中的类文档有很多种,比如:javadoc,genDoc,SwaggerUI等。按照要求,我们首先,需要对不同的Controller包进行分组,每个controller包都代表一类接口,其次,原有SwagerUI显示界面也许不是我们想要的,所以我们需要改造。
注意,我代码中用到的Swagger
在swagger上生成关于json数据类型返回结果的描述
注解ApiReturnJsonObject表示返回结果的map结构
package com.test.swagger2;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.Re...
Swagger是一个用于设计、构建、记录和使用RESTful API的工具,如果你需要配置Swagger的代码,你需要遵循以下步骤:
1. 添加Swagger依赖:在你的项目中添加Swagger依赖,这通常需要在你的项目的pom.xml文件中添加以下依赖:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
2. 配置Swagger:在你的Spring Boot应用程序中配置Swagger,这通常涉及到创建一个Swagger配置类,该类应该包含@Configuration和@EnableSwagger2注解。你还需要配置一些其他的参数,例如Swagger API文档的标题、版本、描述等等。
3. 添加Swagger注解:在你的控制器类和方法中添加Swagger注解,这些注解将用于生成Swagger API文档。例如,你可以使用@Api注解来指定控制器类的说明,使用@ApiOperation注解来指定方法的说明,使用@ApiParam注解来指定方法参数的说明等等。
4. 运行应用程序:当你完成了Swagger的配置之后,你可以运行你的Spring Boot应用程序,并通过Swagger UI来访问Swagger API文档。Swagger UI通常可以通过在Web浏览器中输入http://localhost:8080/swagger-ui.html来访问。
以上是配置Swagger的基本步骤,你可以根据你的具体需求进行自定义配置。