现在的项目大都是前后端分离的,后台开发呢,我个人是用的Swagger-ui来作为文档管理,如何让前端更友好的调试接口呢,
通常前端参数超过2个以上呢 我们都会对参数进行对象的封装,有可能我们几个接口都用了这个封装的对象,有的不需要传那么多的参数,这样我们如何通过Swagger指定我们所需参数呢,可以利用如下参数格式:
@ApiImplicitParams({
@ApiImplicitParam(name = "eventTypeCode", value = "类型", dataType = "String", paramType = "query"),
@ApiImplicitParam(name = "eventFirmCode", value = "来源", dataType = "String", paramType = "query"),
@ApiImplicitParam(name = "eventLevelCode", value = "等级", dataType = "String", paramType = "query"),
@ApiImplicitParam(name = "type", value = "事件归属分类,如:事件1、事件2", dataType = "String", paramType = "query"),
@ApiImplicitParam(name = "search", value = "搜索框", dataType = "String", paramType = "query"),
@ApiImplicitParam(name = "noticeStatus", value = "状态 已通报 未通报", dataType = "String", paramType = "query"),
@ApiImplicitParam(name = "eventStatus", value = "数据统计框:未处理 处理中 待复核 已修复", dataType = "String", paramType = "query"),
})
public EventCount eventCount(@ApiIgnore Event event) {
return eventService.eventCount(event);
}
我们Event对象中有N多个参数也不会影响到Swagger中需传参数,只会显示列出来的这几个参数。我们可以很友好的让前端知道我们所需的参数,更好的提高我们项目的开发效率,更加容易维护。
还有就是我们在做一些流程处理时,避免让前端传入状态修改流程走向,这样可以有效的避免别人拿到我们的api进行恶意篡改,
等等还有挺多,有时间在分享~.~