swagger使用注意的问题

 

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")

扫描二维码关注公众号,回复: 1088402 查看本文章

 

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   

 

 

 

猜你喜欢

转载自yuhuiblog6338999322098842.iteye.com/blog/2400089
今日推荐