以请求折线图描点的数据接口为例,记录在自己写的接口中调用同事提供的接口的过程。
先看同事给的接口:
输入为:
customerNum
beginDate
endDate
type
sort
@Service public interface MssmService { @Headers({"Content-Type: application/json","Accept: application/json"}) @RequestLine("POST /mssm/v3/sr/api/msspChart") ReportList getReportListChart(@Param(value = "customerNum") String customerNum, @Param(value = "beginDate") String beginDate,@Param(value = "endDate") String endDate, @Param(value = "type") String type, @Param(value = "sort") String sort); }
2、controller里面写调用service的方法
@RestController public class MssmController implements MssmFacade { @Value(value = "${mssm.server.url}") private String mssmUrl; MssmService mssmServicee = Feign.builder() .encoder(new JacksonEncoder()) .decoder(new JacksonDecoder()) .options(new Request.Options(1000, 3500)) .retryer(new Retryer.Default(5000, 5000, 3)) .target(MssmService.class, "http://beta.isignet.cn:10010"); @Override
public ReturnResult msspOverAll(RequestByOverAll requestByOverAll, BindingResult br) throws BindException { if(br.hasErrors()){ throw new BindException(br); }else { cn.org.bjca.mssm.v3.sr.api.commons.web.ReturnResultreportList = mssmServicee.getReportListOverAll(requestByOverAll.getCustomerId() ,requestByOverAll.getBeginDate(),requestByOverAll.getEndDate(),requestByOverAll.getType()); //return ReturnResult.success(reportList); if(reportList.getStatus()==200){ return ReturnResult.success(reportList); }else{ return new ReturnResult(-1,"失败"); } } }
}
@Api(value = "按", consumes = MediaType.APPLICATION_JSON_VALUE, protocols = "HTTP", description = "运管查询接口") @RequestMapping("/mssm") public interface MssmFacade {
@ApiOperation(value = "图表", produces = MediaType.APPLICATION_JSON_VALUE, httpMethod = "POST", notes = "图表") @ApiImplicitParams(value = { @ApiImplicitParam(name = "requestByChart", value = "RequestByChart", required = true,paramType = "body",dataType = "RequestByChart") }) @RequestMapping(value = "/msspChart", method = RequestMethod.POST) @ResponseBody public ReturnResult msspChart(@Valid @RequestBody RequestByChart requestByChart,BindingResult br) throws BindException;}
4、最后swagger里实现只需requestBody填入json串即可