首页
学习
活动
专区
圈层
工具
发布

让 API 自动生成文档

由于业务口径频繁变更,因此很多接口也会频繁变更,频繁变更导致文档的维护是一件相当费时的事情,当优先级更高的事情袭来,更新文档反到成了次要工作,久而久之,文档就算有,也不是最新的,有些接口,干脆文档也不写了...网上搜索了下,还真有大神实现了这样的框架。不得不感慨,没有程序员实现不了的好功能,只有程序员想不到的好方法。 实际上,一些流行的 web 框架已经原生集成了自动生成 api 文档的功能。...接下来的代码编写也不会考虑这样的情况, post 仅考虑所有参数都在 http body 中的情况。...path('api-docs/', include_docs_urls(title="api接口文档")), 就是这两行代码,自动生成了 api 的文档。...注意,这里依赖 coreapi ,使用过程中使用 pip 安装下即可 pip install coreapi 方法二、使用第三方库自动生成 api 文档 这里介绍下 django-rest-swagger

2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    RESTful api 功能测试

    示例向百度发了一个 Get 请求,带一个 header 头,有一个返回状态码 200 的假定,end()用于请求结束后对于预期或响应的处理。...Hippie 的优点就是简便、灵活,大致流程是:请求设置,param 参数对象经过 Serializers 方法处理,方式请求,响应内容经过 parsers 方法处理,验证假定,处理结果。...3 swagger-hippie   由于 api 仿 REST 风格,所以使用 swagger 生成接口文档(由于我用的 .netcore,所以链接地址可能有点问题)   swagger-hippie...上面完成了一个用户注册场景的3个api的调用测试。   需要说明的有两点   (1)hippie 支持服务器接口测试和 http 接口测试,这里的服务接口是指 js 实现 web 服务器。   ...(2)对于接收是一个接口返回当做下一个接口参数的场景,可以在end()方法中设置。

    80441

    第 16 篇:别再手动管理接口文档了

    经过大家的努力,现在已经有了很多成熟的接口文档标准和生成工具,其中 OpenAPI Specification[1] 就是一个被广泛接收和使用的标准,我们博客接口使用的文档自动化工具,也会基于 OpenAPI...include, path, re_path from drf_yasg import openapi from drf_yasg.views import get_schema_view from...# 文档 re_path( r"swagger(?...完善文档 drf-yasg 毕竟不是使用人工智能开发的,即使是使用人工智能,也很难做到 100% 的正确,毕竟由人类写的代码可能是千变万化的,工具无法预料到所有可能的情况,一旦它遇到无法处理的地方,自动生成的文档就可能出错...PostViewSet 中去找了,结果找到了 PostListSerializer,然后把这个当成了接口返回的内容进行解析了。

    2.2K20

    swagger常用注解

    六个注解: @Api:用在controller上,对controller进行注释; @ApiOperation:用在API方法上,对该API做注释,说明API的作用; @ApiImplicitParams...:用来包含API的一组参数注解,可以简单的理解为参数注解的集合声明; @ApiImplicitParam:用在@ApiImplicitParams注解中,也可以单独使用,说明一个请求参数的各个方面,该注解包含的常用选项有...: paramType:参数所放置的地方,包含query、header、path、body以及form,最常用的是前四个。...即使只有一个@ApiResponse,也需要使用@ApiResponses包住 对于@ApiImplicitParam的paramType:query、form域中的值需要使用@RequestParam...获取, header域中的值需要使用@RequestHeader来获取,path域中的值需要使用@PathVariable来获取,body域中的值使用@RequestBody来获取,否则可能出错;而且如果

    4.6K20

    在 Spring Boot 项目中使用 Swagger 文档

    而 Swagger 给我们提供了一个全新的维护 API 文档的方式,下面我们就来了解一下它的优点: 代码变,文档变。...,但是首先我们得通过 Docket 的 useDefaultResponseMessages 方法告诉 Swagger 不使用默认的 HTTP 响应消息,假设我们现在需要覆盖所有 GET 方法的 500...GET 类型请求的 403 以及 500 错误的响应消息都变成了我们自定义的内容。...取值: path:以地址的形式提交数据,根据 id 查询用户的接口就是这种形式传参。query:Query string 的方式传参。...path:以地址的形式提交数据,根据 id 查询用户的接口就是这种形式传参。 query:Query string 的方式传参。 header:以流的形式提交。

    2K20

    Swagger2介绍+与SpringMVC整合

    Swagger是一套围绕OpenAPI规范构建的开源工具,可以帮助您设计,构建,记录和使用REST API。...requestMapping() {       return new RequestMappingHandlerMapping();   } ​   /**     * 构建api文档的详细方法...@Api Api 标记可以标记一个Controller类做为swagger 文档资源,使用方式 属性名称 备注 value url的路径值 tags 如果设置这个值、value的值会被覆盖 description...”, notes = “根据url的id来获取用户详细信息”,httpMethod =”GET”) 对该方法的描述 value:主页面中对该接口的描述,位置在接口的最右边 notes:点开接口后,第一段描述...,可以为类名,也可以为基本类型(String,int,Boolean) paramType:参数的传入(请求)类型,可选的值有path, query, body, header or form。

    6K10

    实战经验 | Flume中同时使用Kafka Source和Kafka Sink的Topic覆盖问题

    具体表现为,Kafka Source可以正常从指定的Topic中读取数据,但在Kafka Sink中配置的目标Topic不起作用,数据仍然会被写入到Source中指定的Topic中。...,Kafka Source可以正常从指定的Topic中读取数据,但在Kafka Sink中配置的目标Topic不起作用,数据仍然会被写入到Source中指定的Topic中。...); 即:先使用event header中key为”topic”的值作为sink的topic,如果event header中没有,才取属性中配置的topic。...因此,在Kafka Sink中,首先从event header中读取到了topic,Sink端的配置项不起作用。...解决办法 使用Flume拦截器,修改event header中key=topic的值为目标topic,拦截器使用Static interceptor,配置如下: ## Source 拦截器 agent_myAgent.sources.kafkaSource.interceptors

    2.2K30

    FastAPI(48)- 自定义响应之 HTMLResponse、PlainTextResponse

    body> """ 上面的栗子中,Response Header 的 Content-type 将为 text/html,并且会记录在 OpenAPI...中 查看 Swagger API 文档的 Response Header 请求结果 源码 只是声明了下 media_type,其他都没变 返回自定义 Response 的第二种方式 背景 上面的两个栗子是通过在路径操作装饰器的...,并且不会在 Swagger API 文档中显示 查看 Swagger API 文档的 Response Header 请求结果 添加 response_class 和 return Response...综合使用 上面的栗子讲了直接 return Response 的缺点,那么可以结合使用 response_class 来避开问题 # 1、声明 response_class @app.get("/items2...Response Header 默认是 application/json,现在改成了 text/plain 请求结果 源码 只是声明了下 media_type,其他都没变 假如直接 return

    1.4K50

    如何使用go-swagger文档

    这篇文章主要介绍了Go语言使用swagger生成接口文档的方法。 前言 在前后端分离的项目开发过程中,如果后端同学能够提供一份清晰明了的接口文档,那么就能极大地提高大家的沟通效率和开发效率。...那如何维护接口文档,历来都是令人头痛的,感觉很浪费精力,而且后续接口文档的维护也十分耗费精力。...在很多年以前,也流行用word等工具写接口文档,这里面的问题很多,如格式不统一、后端人员消费精力大、文档的时效性也无法保障。...Swagger介绍 Swagger是基于标准的 OpenAPI 规范进行设计的,本质是一种用于描述使用json表示的Restful Api的接口描述语言,只要照着这套规范去编写你的注解或通过扫描代码去生成注解...使用 使用gin-swagger为你的代码自动生成接口文档,一般需要下面三个步骤: 按照swagger要求给接口代码添加声明式注释。

    27610

    Swagge里面的必会知识(最全,精美版)

    通过在controller中,声明注解,API文档进行说明 1、@Api():用在请求的类上,表示对类的说明,也代表了这个类是swagger2的资源 参数: tags:说明该类的作用,参数是个数组...参数: name="参数名称" value="参数说明" dataType="数据类型" paramType="query" 表示参数放在哪里 · header 请求参数的获取:@...RequestHeader · query 请求参数的获取:@RequestParam · path(用于restful接口) 请求参数的获取:@PathVariable...· body(不常用) · form(不常用) defaultValue="参数的默认值" required="true" 表示参数是否必须传 7、@ApiParam():用于方法,参数,...参数: code="404" 表示响应码(int型),可自定义 message="状态码对应的响应信息" 10、@ApiIgnore():用于类或者方法上,不被显示在页面上 使用

    96520

    试试这款优雅的HTTP客户端工具吧,跟SpringBoot绝配!

    我们平时开发项目时,就算是单体应用,也免不了要调用一下其他服务提供的接口。此时就会用到HTTP客户端工具,之前一直使用的是Hutool中的HttpUtil,虽然容易上手,但用起来颇为麻烦!...下面以调用mall-tiny-swagger中的接口为例,我们来体验下Retrofit的基本使用。...首先我们准备一个服务来方便远程调用,使用的是之前的mall-tiny-swagger这个Demo,打开Swagger看下,里面有一个登录接口和需要登录认证的商品品牌CRUD接口,项目地址:https:/.../update/{id}") CommonResult update(@Path("id") Long id, @Body PmsBrand pmsBrand); @GET("brand.../delete/{id}") CommonResult delete(@Path("id") Long id); } 再在Controller中注入PmsBrandApi实例,并添加方法调用远程服务即可

    2K10
    领券