maven
<knife4j.version>1.9.6</knife4j.version>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<!--在引用时请在maven中央仓库搜索最新版本号-->
<version>${knife4j.version}</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>${knife4j.version}</version>
</dependency>
配置类:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210426165722616.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW5nbGlubGFuZw==,size_16,color_FFFFFF,t_70)
@Configuration
@EnableSwagger2
//@EnableKnife4j
@Import(BeanValidatorPluginsConfiguration.class)
@ConditionalOnProperty(value = {"knife4j.enable"}, matchIfMissing = true)
public class SwaggerConfig {
public String packagePath;
@Bean(value = "default")
public Docket defaultApi1() {
//注意代码位置 必须在项目的 config 目录下,如果需要放置其他位置请自行修改
packagePath = this.getClass().getPackage().getName().replace("config","controller");
Docket docket=new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
//分组名称
.groupName("1.0版本")
//.globalOperationParameters(getGlobalOperationParameters())
.select()
//这里指定Controller扫描包路径
.apis(RequestHandlerSelectors.basePackage(packagePath))
.paths(PathSelectors.any())
.build();
return docket;
}
// @Bean(value = "default2")
// public Docket defaultApi2() {
// Docket docket=new Docket(DocumentationType.SWAGGER_2)
// .apiInfo(apiInfo())
// //分组名称
// .groupName("2.0版本")
// //.globalOperationParameters(getGlobalOperationParameters())
// .select()
// //这里指定Controller扫描包路径
// .apis(RequestHandlerSelectors.basePackage("com.yxkj.netplus.controller"))
// .paths(PathSelectors.any())
// .build();
// return docket;
// }
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("微信公众号API接口文档")
.description("# API接口")
.termsOfServiceUrl("http://www.xx.com/")
// .contact("xx@qq.com")
.version("1.0")
.build();
}
/**
* 设置全局参数
* @return
*/
private List<Parameter> getGlobalOperationParameters() {
List<Parameter> pars = new ArrayList<>();
ParameterBuilder parameterBuilder = new ParameterBuilder();
parameterBuilder.name("token").description("token").modelRef(new ModelRef("string")).parameterType("header").required(true);
pars.add(parameterBuilder.build());
// parameterBuilder.name("sign").description("数据签名").modelRef(new ModelRef("string")).parameterType("header").required(true);
// pars.add(parameterBuilder.build());
return pars;
}
}
controller:
@PostMapping("MzNoPayQuery")
@ApiOperation(value = "门诊未收费查询-MzNoPayQuery")
public Result<MzNoPayResponse> MzNoPayQuery(MzNoPayReq req) throws Exception {
return ResultGenerator.genSuccessMessage(null);
}
请求:
@Data
public class MzNoPayReq {
@ApiModelProperty(value = "门诊号",example = "门诊号",required = true)
private String par_3;
@ApiModelProperty(value = "参数",example = "操作员编码|操作员名称|记账人工号|记账人姓名")
private String par_4;
@ApiModelProperty(value = "YXHIS数据库名称",example = "YXHIS")
private String par_5;
}
响应
@Data
//用于特殊情况,参数全是大写时使用
@JsonAutoDetect(
fieldVisibility = JsonAutoDetect.Visibility.ANY,
getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE
)
@ApiModel("门诊支付")
public class MzPayResponse {
@ApiModelProperty(value = "单据号",example = "2104000008")
@XmlField("C1")
private String CDJH;
@ApiModelProperty(value = "门诊号",example = "1")
@XmlField("C2")
private String IFYLX;
@ApiModelProperty(value = "医生名称",example = "gly")
@XmlField("C3")
private String CYSMC;
}