Swagger UI之踩坑

1、@RestController和@Contronller

@RestController    -----只有使用RestController才会在UI上返回响应数据,而@Controller则不会返回数据,而是报404错误,尽管执行是成功的
@RequestMapping("/monitor/userPlan")
@Profile({"local", "test", "dev", "insurance", "release", "uat", "pressure"})
@Api(value = "顺风车轨迹查询接口测试")
public class UserPlanController {

    @Reference
    private UserPlanService userPlanService;

    @RequestMapping(value = "/queryVehicleRoute", method = {RequestMethod.POST})
    @ApiImplicitParams({@ApiImplicitParam(name = "planQueryParam", value = "查询参数对象", required = true, paramType = "body",
            dataType = "UserPlanQueryParam")})
    @ApiOperation(value = "查询用户计划", notes = "查询用户计划", httpMethod = "POST")
    public Response queryUserRoute(@RequestBody UserPlanQueryParam planQueryParam) {
        UserPlanQuery UserPlanQuery = new UserPlanQuery();
        UserPlanQuery.setStartTime(planQueryParam.getStartTime());
        UserPlanQuery.setEndTime(planQueryParam.getEndTime());
        UserPlanQuery.setUuid(planQueryParam.getUuid());
        UserPlanQuery.setVin(planQueryParam.getVin());

        return userPlanService.queryUserRoute(UserPlanQuery);
    }


    @RequestMapping(value = "/queryPassengerRoute", method = {RequestMethod.POST})
    @ApiImplicitParams({@ApiImplicitParam(name = "planQueryParam", value = "查询参数对象", required = true, paramType = "body",
            dataType = "UserPlanQueryParam")})
    @ApiOperation(value = "查询用户计划", notes = "查询用户计划", httpMethod = "POST")
    public Response queryUserPassRoute(@RequestBody UserPlanQueryParam planQueryParam) {
        UserPlanQuery UserPlanQuery = new UserPlanQuery();
        UserPlanQuery.setStartTime(planQueryParam.getStartTime());
        UserPlanQuery.setEndTime(planQueryParam.getEndTime());
        UserPlanQuery.setVin(planQueryParam.getVin());
        UserPlanQuery.setUuid(planQueryParam.getUuid());

        return userPlanService.queryUserPassRoute(UserPlanQuery);
    }
}

2、调试有坑

            亲身经历,使用Swagger为入口进行调试,打的断点有时能进入服务类,有时进入不了服务类,很不稳定。而这种不稳定可以通过在方法上打断点,然后释放,然后再打,在service方法上打断点。连续多次能进入,有时没有问题。这种经历是用Idea,具体原因未详,记录一下。

3、Swagger页面调用接口会缓存调用结果,而不是每次调用都去重新调用接口。

你可能感兴趣的:(swagger)