文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Swagger与YApi的示例分析

2024-04-02 19:55

关注

这篇文章将为大家详细讲解有关Swagger与YApi的示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

Swagger与YApi的示例分析

最近前端们一直反映Swagger看接口信息非常不爽,于是我花了俩小时把Swagger干掉,用上了传说中更好用的YApi。

Swagger与YApi

其实我个人认为Swagger也没啥不好的,后端集成起来方便快捷,就是UI不行,而且对于Java来说代码的侵入性太高了。

Swagger与YApi的示例分析

swagger界面

YApi除了解决了这些问题之外还具有权限管理、团队协作、自动化测试、支持OpenApi规范等等。

Swagger与YApi的示例分析

YApi界面

YApi区别于Swagger的最大不同就是YApi需要导入文档(虽然它也可以通过Swagger轮询导入),而Swagger可以自动发现。

安装这里就不细说了,官方文档说的很清楚。你可以选择命令行部署、可视化部署,也能使用Docker部署。

推荐内网部署,毕竟大部分API文档比较敏感。

文档注释

YApi的文档解析基于Java注释规范,没有代码侵入!但是这就要求我们要按照Javadoc的规范进行书写文档注释,这是使用YApi的前提。一个接口文档分为以下几个部分。

接口类注释

接口类的注释,下面是基本的格式。第一行会作为菜单展示,尽量短小精悍;第二行是接口的描述,用来描述接口的作用和细节。

 @RestController @RequestMapping("/foo") public class FooController { // 省略 }

Swagger与YApi的示例分析

还有@module、@copyright什么的其实可以不写。

参数注释

入参和出参的注释,配合JSR-303有奇效哦。

 @Data public class UserInfoDetail {           @NotBlank     private String username;          private String realName;          private String phoneNumber;          private Integer gender;          private String nickName;          @Deprecated     private String wechatAccount;          private String email; }

接口方法注释

入参为复杂对象的话注释用@link引用,@RequestBody会指定Content-Type为application/json。

 @PostMapping("/bar") public boolean detail(@RequestBody UserInfoDetail userInfoDetail) {     return true; }

Swagger与YApi的示例分析

Post请求对应的样式

如果参数是原始类型类型或者String,可以这样写,@RequestParam有奇效。

 @GetMapping("/sam") public UserInfoDetail detailBySamples(@RequestParam String name, Integer age) {     return new UserInfoDetail(); }

Swagger与YApi的示例分析

Get请求对应的样式

导入文档

YApi支持Swagger、Postman、JSON等方式导入文档。不过我个人更喜欢使用插件导入,Intellij  IDEA中推荐使用easy-yapi。导入的时候定位到对应的Controller,使用快捷键Alt+Ins呼出快捷菜单。

Swagger与YApi的示例分析

呼出快捷菜单

选择Export Yapi ,首次选择会让你输入YApi的服务器地址,还会让你输入对应项目的token字符串。

Swagger与YApi的示例分析

token 字符串

依次填入后,就会解析生成文档并同步到YApi服务器了,结果就是上面截图中的样子。然后你可以配置权限分配给组员使用了,如果有文档更新重复上面的步骤即可,YApi提供了几种策略,你可以选择覆盖也可以选择不覆盖。

关于Swagger与YApi的示例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯