关闭

Swagger填坑

8333人阅读 评论(7) 收藏 举报
分类:

关于返回的类型response

(1)不支持泛型。解决办法:

@RequestMapping(value = "/image",method = RequestMethod.POST, produces = { "application/json" })
    @ApiOperation(value = "附件上传(图片),支持批量", notes = "", response = UploadImageResult.class)
    public Result<List<UploadResult>> imageUpload(final HttpServletRequest request,
                                                  @ApiParam(name="任意",value="图片上传") MultipartFile file1,
                                                  @ApiParam(name="任意",value="图片上传") MultipartFile file2,
                                                  @ApiParam(name="任意",value="图片上传") MultipartFile file3) throws Exception{
        return upload(request, AttachType.IMAGE);
    }
根据方法的实际返回类型,重新定义一个类型,在里面把泛型处理掉。

public class Result<T> {
    private String code;
    private String msg;
    private T data;
}
public class UploadImageResult {
    private String code;
    private String msg;
    private List<UploadResult> data;
}

(2)返回的bean中如果有boolean类型,请注意,swagger识别的bean跟标准的javabean的规范是不一样的。

标准的javabean:

private boolean isDelete;
public boolean isDelete() {
	return isDelete;
}
public void setDelete(boolean delete) {
	isDelete = delete;
}
但是,对于swagger只能这样:

private boolean isDelete;
public boolean getIsDelete() {
	return isDelete;
}

public void setIsDelete(boolean delete) {
	isDelete = delete;
}

关于文件上传:

swagger并不支持(MultipartFile[] files)这种参数,如果是多个文件,只能写多个MultipartFile


未完待续。。。

---------------------------------------泛型现在已经支持了!!!

---------------------------------------泛型现在已经支持了!!!

---------------------------------------泛型现在已经支持了!!!

---------------------------------------泛型现在已经支持了!!!

---------------------------------------泛型现在已经支持了!!!

---------------------------------------泛型现在已经支持了!!!

@RequestMapping(value="/simple/get", method=RequestMethod.GET)
	@ApiOperation(value="单个参数,GET")
	public Result<String> simpleGet(@ApiParam("这是p1参数") @RequestParam("p1")String p1) throws Exception{
		return Result.success("hello,world");
	}
	
	@RequestMapping(value="/simple/get2", method=RequestMethod.GET)
	@ApiOperation(value="单个参数,GET2")
	@ApiImplicitParam(name="p1",value="这是p1参数", paramType="query")
	public Result<String> simpleGet2() throws Exception{
		return Result.success("hello,world");
	}
效果是这样的:



@RequestMapping(value="/complex/get", method=RequestMethod.POST)
	@ApiOperation(value="对象参数")
	public Result<User> complexGet(@ApiParam @RequestBody User user) throws Exception{
		user.setId("newid");
		return Result.success(user);
	}

@ApiModel(value="用户对象")
public class User {
	@ApiModelProperty(value="用户ID")
	private String id;
	@ApiModelProperty(value="用户姓名")
	private String name;
	@ApiModelProperty(value="用户昵称")
	private String nickName;
	@ApiModelProperty(value="用户openid", hidden=true)
	private String openid;
	@ApiModelProperty(value="用户手机号", example="13112341234", required=true)
	private String mobile;
}

效果是这样的:


@RequestMapping(value="/complex/get2", method=RequestMethod.POST)
	@ApiOperation(value="对象参数")
	@ApiImplicitParams(
			{
				@ApiImplicitParam(name="id", value="用户ID", paramType="query"),
				@ApiImplicitParam(name="name", value="用户姓名", paramType="query")
			}
	)
	public Result<User> complexGet2(@ApiParam @RequestBody User user) throws Exception{
		user.setId("newid");
		return Result.success(user);
	}
效果是这样的:



上面这几种情况掌握就完全足够用了!


0
0
查看评论

swagger 文件上传

以下写在API接口类: @ApiOperation(value = "导入用户", notes = "导入用户", response = String.class, tags = {}) @ApiResponses(value = { @ApiResp...
  • qq779446849
  • qq779446849
  • 2017-06-30 11:25
  • 3296

swagger文件上传的写法

controller写法: 页面展示:
  • qq_23167527
  • qq_23167527
  • 2017-11-17 11:17
  • 1305

SpringMVC+Swagger UI生成可视图的API文档(详细图解)

SpringMVC+Swagger生成文档详细图解,以及遇到的异常处理
  • u011499992
  • u011499992
  • 2016-12-04 19:16
  • 26342

swagger使用文档

  • 2016-10-10 14:26
  • 823KB
  • 下载

Swagger 与 SpringMVC 整合的步骤

1、添加 Swagger 与 SpringMVC 的依赖<dependency> <groupId>com.mangofactory</groupId> <artifactId>swagger-springmvc</artifac...
  • lw_power
  • lw_power
  • 2016-02-14 18:37
  • 3884

swagger 使用方式

swagger
  • tengdazhang770960436
  • tengdazhang770960436
  • 2017-03-02 16:03
  • 1763

如何在生产环境禁用Swagger

SpringMVC集成springfox-swagger2和springfox-swagger-ui很简单,只需要两步: (1)pom中添加依赖 io.springfox springfox-swagger-ui ${springfox-swagger.version} ...
  • goldenfish1919
  • goldenfish1919
  • 2017-10-19 08:59
  • 3126

自定义JSR validation及Swagger的一些坑

validation的一些细节问题(项目测试时发现)、如何自定义bean validation与个人使用Swagger2测试时遇到的一些坑
  • z28126308
  • z28126308
  • 2017-08-31 18:40
  • 943

Fastjson 解析多级泛型时而失败的解决方案

fastjson 解析多级泛型时而失败:class PeiqiResponse<T> { Boolean success; Integer errCode; String errDes; T result; }声明:PeiqiResponse&...
  • lanmo555
  • lanmo555
  • 2016-10-09 18:27
  • 8318

Spring启动RESTful API文档使用Swagger 2

原文地址:https://dzone.com/articles/spring-boot-restful-api-documentation-with-swagger?edition=276883&utm_source=Daily%20Digest&utm_medium=email&a...
  • u013213157
  • u013213157
  • 2017-08-28 14:04
  • 488
    个人资料
    • 访问:390445次
    • 积分:5010
    • 等级:
    • 排名:第6669名
    • 原创:103篇
    • 转载:22篇
    • 译文:16篇
    • 评论:73条
    文章分类
    最新评论
    我的网站