Swaggerui 感觉不好用啊~

2020-12-23 14:24:00 +08:00
 lincya

更新到了 knife4j

需求: 所有的 controller 都返回了同一个响应类,如:

public class ResData{

int code;

Object data;

String message; }

而根据不同的情况,data 里面存放不同的数据

问题: knife4j 无法通过注解配置或其他方式,给 data 填入特定的参数 如:

{code: 1, data:{account:"10077", username:"小明", id:"100}}

这样的数据就难以直观地显示了

1106 次点击
所在节点    问与答
7 条回复
starlz
2020-12-23 17:16:22 +08:00
你是想要 swagger 展示 data 里各个属性的说明吗?
hly9469
2020-12-23 17:18:21 +08:00
所以为什么不用泛型
starlz
2020-12-23 17:18:42 +08:00
如果是的话,ResData 改成 ResData<T>; Object data 改成 T data 并在 controller 的返回方法上加上泛型,然后在对应的实体加注解就行了
lincya
2020-12-24 15:32:46 +08:00
@starlz
@hly9469 哈哈感谢大佬
lincya
2020-12-24 15:33:37 +08:00
@starlz 请问大佬,如果我自己定义了一堆状态码,如
lincya
2020-12-24 15:34:27 +08:00
@ApiModel(description = "自定义响应状态码")
public class ResCode {

// 请求成功
@ApiModelProperty(name = "0", value = "(0) 请求成功")
public int OK = 0;

// 失败
@ApiModelProperty(name = "-1", value = "(-1) 请求失败")
public int ERROR = -1;
}

这样的有办法放在第一问里面的 code 里面,在界面上显示出来吗
hly9469
2020-12-24 16:14:30 +08:00
@lincya rescode 如果想实现你想要的效果,推荐用枚举,相应的 json 序列化时总注解标注下 jsonvalue

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/738228

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX