Pont深坑,与swagger 2.9的兼容问题

2024-03-17 20:12

本文主要是介绍Pont深坑,与swagger 2.9的兼容问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Pont是一个很好的前后端一体化工具,能够帮助自动生成API代码。

今天正在整Pont的时候,发现个别API参数在pont里无法导出,经过反复的对比发现。只要使用了@ApiParam或@ApiImplicitParam的参数,都无法正常被pont导出。例如定义的接口如下:
 

    @PostMapping("testPost")@ApiOperation(value = "后台管理员登录aaaa")public String testPost(@ApiParam("登录ID--》") String loginId,String userPsw, String validateCode, String sid,@ApiIgnore RequestSite adminSite, HttpServletResponse response){return loginId + " " + userPsw;}

发现实际生成的Pont接口api.d.ts如下:

declare namespace API {/*** Common Admin Controller*/export namespace commonAdmin {/*** 后台管理员登录* /admin/common/doLogin*/export namespace doLogin {export class Params {}export type Response = stringexport const init: Responseexport function request(params: Params, body: string, options?: any): Promise<Response>}

被@ApiParam注解的项,无法被正常导出。

看了下swagger的docs接口,生成的API json如下:

		"/admin/common/testPost": {"post": {"tags": ["common-admin-controller"],"summary": "后台管理员登录aaaa","operationId": "testPostUsingPOST","parameters": [{"name": "adminToken","in": "header","description": "adminToken 后台Token","required": false,"type": "string"}, {"in": "body","name": "loginId","description": "登录ID--》","required": false,"schema": {"type": "string"}}, {"name": "sid","in": "query","description": "sid","required": false,"type": "string"}, {"name": "userPsw","in": "query","description": "userPsw","required": false,"type": "string"}, {"name": "validateCode","in": "query","description": "validateCode","required": false,"type": "string"}],"responses": {"200": {"description": "OK","schema": {"type": "string"}},"401": {"description": "Unauthorized"},"403": {"description": "Forbidden"},"404": {"description": "Page Not Found"},"500": {"description": "Server Internal Error"}},"deprecated": false}},

使用swagger参数注解的项格式有点小变化,例如type放到了schema项之内。可能这个差异导致了pont解析不出来吧。

目前暂时的解决方法就是,不使用@ApiParam和@ApiImplicitParam注解。

可能 Swagger V3接口可以正常吧,暂时不调整了。

这篇关于Pont深坑,与swagger 2.9的兼容问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/820025

相关文章

SpringBoot3集成swagger文档的使用方法

《SpringBoot3集成swagger文档的使用方法》本文介绍了Swagger的诞生背景、主要功能以及如何在SpringBoot3中集成Swagger文档,Swagger可以帮助自动生成API文档... 目录一、前言1. API 文档自动生成2. 交互式 API 测试3. API 设计和开发协作二、使用

springboot 整合swagger

没有多余废话,就是干 spring-boot 2.7.8 springfox-boot-starter 3.0.0 结构 POM.xml <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/

【Swagger】SpringBoot整合Swagger

一、搭建Swagger组件 1. 引入Swagger 快速在SpringBoot(版本:2.6.3)项目中引入Swagger相应pom.xml: <dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version></depende

SparkRDD转DataSet/DataFrame的一个深坑

大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 暴走大数据 点击右侧关注,暴走大数据! By  大数据技术与架构 场景描述:本文是根据读者反馈的一个问题总结而成的。 关键词:Saprk RDD 原需求:希望在map函数中将每一

【springboot】使用swagger生成接口文档

1. 添加依赖 <dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><version>2.6.0</version></dependency>         这里我老是添加不上这个依赖,搜索了下发现阿里云公共仓库中没有这个依赖

Spring doc 替代swagger

最近在spring看到的,spring要对api文档动手了,有些人说swagger不好用,其实也没那么不好用,有人说代码还是有点侵入性,这倒是真的,我刚试了springdoc可以说还是有侵入性但是也可以没有侵入性,这就看你对文档有什么要求了,总之想取代swagger我想可能是swagger动作太慢了,好久没有更新,对新版本的spring支持不好,也可能是我瞎说。 根据其他网友提供的demo 试试

如何解决android兼容问题

android兼容性设计目标 android是一个不断更新迭代的系统,而应用是基于android系统开发的,那么自然就会出现一个问题即不同版本应用如何在不同的android版本运行?所以可以归纳android系统的设计目标有两个 新平台能够兼容的运行旧应用旧平台能够兼容的运行新应用 设计前言 在思考如何实现这两个问题之前,有个需要提出的问题是apk是如何创建与安装的? 首先a

編程之美2.9:神奇的菲波那契數列

只要是聽說過遞歸,學過一點數據結構的人都聽過這個數列。其實高二數學課上也有,不過那時候我還在受馬克思主義的薰陶,不知編程爲何物。好了,據說這個數列源於一對繁殖能力特別驚人的兔子。 其實這個就是一個遞推公式: F(n)=⎧⎩⎨01F(n−1)+F(n−2)n = 0;n = 1;n>=2 F(n)=\begin{cases}0 & \mbox {n = 0;}\\1 & \mbox

Spring boot 中使用swagger-ui实现 restful-api

步骤一:在pom文件中添加如下依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.5.0</version></dependency><dependency> <groupId>io.springfox</g

Linux下安装MySQL不兼容问题及解决

在linux中安装MySQL时出现如下情况: 主要原因:系统已经安装了其他版本的mysql-libs包导致不兼容。 通过如下方法查看之前安装的MySQL信息: 解决方法:将之前的mysql的lib包删除了即可,删除mysql-libs: yum remove mysql-libs 再次安装MySQL时则不会出现上述问题。