swagger使用注意的问题:
1,下载的ui和依赖的jar要配套
2,swagger中index.html配置的地址就是访问接口的地址http://localhost:8081/hb_phonebank_web/v2/api-docs /api-docs这个结尾(webapp下)
3,只针对 @ResponseBody返回json数据的接口, @RequestMapping(value = { "/update" }, method = RequestMethod.POST,produces="application/json;charset=UTF-8")
POST需要参数
GET方法中不能加参数(可以用模型驱动)
- 在GET请求中,不能使用@RequestBody。
- 在POST请求,可以使用@RequestBody和@RequestParam,但是如果使用@RequestBody,对于参数转化的配置必须统一
@RequestMapping(value = { "/newApply" }, method = RequestMethod.GET)
public String prepareNewApplyData(/*@RequestParam String orgId,@RequestParam String loanTermCode,@RequestParam String purposeCode,*/ModelMap map) {
}
@ResponseBody
@RequestMapping(value = { "/initCustomer" }, method = RequestMethod.GET)
public String initCustomer(InitCustomerParameter params){
}
@ResponseBody
@RequestMapping(value = { "/update" }, method = RequestMethod.POST,produces="application/json;charset=UTF-8")
@ApiResponses(value = {@ApiResponse(code = 200, message = "商品信息", response=String.class),
@ApiResponse(code = 201, message = "q"+ "(token验证失败)", response=String.class),
@ApiResponse(code = 202, message = "500" + "(系统错误)",response = String.class)})
@ApiOperation(value="查询列表",notes="/update",response = String.class)
public String update(@RequestBody(required = false) FinancialSalesUser financialSalesUser) throws Exception{}
@ResponseBody
@RequestMapping(value = { "/list" }, method = RequestMethod.GET,produces="application/json;charset=UTF-8")
@ApiResponses(value = {@ApiResponse(code = 200, message = "商品信息", response=String.class),
@ApiResponse(code = 201, message = "q"+ "(token验证失败)", response=String.class),
@ApiResponse(code = 202, message = "500" + "(系统错误)",response = String.class)})
@ApiOperation(value="查询列表",notes="/list",response = String.class)
public String getweixinBaseInfoList() {}
4,
@requestbody
时间不可传:
虽然名称可以一样,但是类型匹配不了springmvc也接受不了(测试数据)
示例:
pom.xml
<!--swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
spring.xml
用一个单独的swagger文件放下载下的ui
<mvc:resources mapping="/swagger/**" location="/swagger/"/>
<mvc:annotation-driven/>
<bean class="com.houbank.incoming.web.controller.MySwaggerConfig" />
配置java:
package com.houbank.incoming.web.controller;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class MySwaggerConfig {
}
应用;
@Controller
@Slf4j
@RequestMapping({ "/financialSalesUser" })
@Api(value="/financialSalesUser",description="测试信息")
public class FinancialSalesUserController {
@Reference
private FinancialSalesUserFacade financialSalesUserFacade;
@ResponseBody
@RequestMapping(value = { "/list" }, method = RequestMethod.GET,produces="application/json;charset=UTF-8")
@ApiResponses(value = {@ApiResponse(code = 200, message = "商品信息", response=String.class),
@ApiResponse(code = 201, message = "q"+ "(token验证失败)", response=String.class),
@ApiResponse(code = 202, message = "500" + "(系统错误)",response = String.class)})
@ApiOperation(value="查询列表",notes="/list",response = String.class)
public String getweixinBaseInfoList() {
String q="";
try {
// CoreBusinessType condition = new CoreBusinessType();
// condition.setTypeName("车抵贷");
FinancialSalesUserCondition financialSalesUserCondition =new FinancialSalesUserCondition();
BaseResponse<List<FinancialSalesUser>> baseResponse = financialSalesUserFacade.selectAll(financialSalesUserCondition);
if (baseResponse != null && CollectionUtils.isNotEmpty(baseResponse.getData())) {
q= JSON.json(baseResponse.getData());
log.info(JSON.json(baseResponse.getData()));
// modelMap.put("coreTypeList", baseResponse.getData());
}
} catch (Exception e) {
log.error("错误"+e);
}
return q;
}
//@RequestBody FinancialSalesUser financialSalesUser
@ResponseBody
@RequestMapping(value = { "/insert" }, method = RequestMethod.POST,produces="application/json;charset=UTF-8")
@ApiResponses(value = {@ApiResponse(code = 200, message = "商品信息", response=String.class),
@ApiResponse(code = 201, message = "q"+ "(token验证失败)", response=String.class),
@ApiResponse(code = 202, message = "500" + "(系统错误)",response = String.class)})
@ApiOperation(value="查询列表",notes="/insert",response = String.class)
public String insert(@RequestBody(required = false) FinancialSalesUser financialSalesUser) throws Exception{
String q="";
try {
// CoreBusinessType condition = new CoreBusinessType();
// condition.setTypeName("车抵贷");
// FinancialSalesUser financialSalesUser =new FinancialSalesUser();
if(financialSalesUser==null){
financialSalesUser =new FinancialSalesUser();
financialSalesUser.setPassWord("222");
financialSalesUser.setStatus("2");
financialSalesUser.setCreatedTime(new Date());
financialSalesUser.setUserName("222");
}
q = financialSalesUserFacade.insert(financialSalesUser)+"";
} catch (Exception e) {
log.error("错误"+e);
}
return q;
}
}
访问:
http://localhost:8081/hb_phonebank_web/swagger/index.html
输入:http://localhost:8081/hb_phonebank_web/v2/api-docs