热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

swagger系列二:swagger语法

在swagger-php的Example下有示例写法。拿过来分析记录。swagger官方注解:https:bfanger.nlswagger-explained#schemaObj

swagger-phpExample下有示例写法。拿过来分析记录。

swagger官方注解:https://bfanger.nl/swagger-explained/#schemaObject go

1. 文档标题部分

/**
* @SWG\Swagger(
* schemes={"http"},
* host="api.com",
* basePath="/v1",
* @SWG\Info(
* version="1.0.0",
* title="API接口文档",
* description="测试swagger文档项目",
* @SWG\Contact(
* name="wxp",
* email="panxxxx@163.com"
* )
* ),
* @SWG\ExternalDocumentation(
* description="wxp",
* url="./"
* )
* )
*/

效果图:

《swagger系列二:swagger 语法》

  • schemes: 接口所支持的协议 (可以填多种协议)
  • host:主机名或ip。
  • basePath:提供API的基本路径,它是相对于host。必须以一个前导斜杠(/)开始. Base URL 是 host + basePath 拼接出来的
  • Info : 文档描述。

    • version :版本号。
    • title :标题。
    • description : 描述信息。
  • ExternalDocumentation”:外部文档链接。

    • description:描述
    • url :跳转链接
  • Contact :联系开发者,发送邮件。

    • name : 开发者姓名
    • email :邮件地址。

2. tag标签部分,用于文档分类

/**
* @SWG\Tag(
* name="pet",
* description="你的宠物信息",
* @SWG\ExternalDocumentation(
* description="查看更多",
* url=""
* )
* )
* @SWG\Tag(
* name="store",
* description="查看宠物店订单"
* )
* @SWG\Tag(
* name="user",
* description="用户操作记录",
* @SWG\ExternalDocumentation(
* description="关于宠物店",
* url="http://swagger.io"
* )
* )
*/

《swagger系列二:swagger 语法》

  • name : 名称(功能模块)
  • description : 描述

3. 接口注释写法

/**
* @SWG\Get(
* path="/pet/{petId}",
* summary="通过ID查询宠物",
* description="返回宠物信息",
* operatiOnId="getPetById",
* tags={"pet"},
* cOnsumes={"application/json", "application/xml"},
* produces={"application/xml", "application/json"},
* @SWG\Parameter(
* description="ID of pet to return",
* in="path",
* name="petId",
* required=true,
* type="integer",
* format="int64"
* ),
* @SWG\Response(
* respOnse=200,
* description="successful operation",
* @SWG\Schema(ref="#/definitions/Pet")
* ),
* @SWG\Response(
* respOnse="400",
* description="Invalid ID supplied"
* ),
* @SWG\Response(
* respOnse="404",
* description="Pet not found"
* ),
* security={
* {"api_key": {}}
* }
* )
*/

  • Get:请求的 HTTP 方法,支持GET/POST/PUT/DELETE 等 HTTP 标准请求方法
  • path:请求的路径
  • summary:接口简介,不能超过120个字符
  • tags:接口标签,可以是多个
  • description:接口描述,支持 Markdown 语法
  • operationId:操作的 ID,全局唯一的接口标识
  • consumes:接口接收的MIME类型,如 application/json
  • produces:接口返回的MIME类型,如 application/json
  • parameters:参数列表

    • description:参数描述
    • in:参数从何处来. 必填. 取值仅限: “query”, “header”, “path”, “formData”, “body”
    • name:参数名.
    • required:参数是否必须. 通过路径传参(in 取值 “path”)时必须为 true.
    • type=参数类型. 取值仅限: “string”, “number”, “integer”, “boolean”, “array”, “file”
    • format:参数格式,如”int64″
  • response: 描叙了来自API操作的单个响应

    • response:返回码
    • description=描述
    • @SWGSchema(ref=”#/definitions/Pet”): 引用definitions/Pet定义的对象

4. 定义对象

5.type 为array的写法

/**
* @SWG\Schema(
* property="name",
* type="array",
* @SWG\Items(
* required={"username"},
* @SWG\Property(
* property="firstName",
* type="string",
* description="firstName"
* ),
* @SWG\Property(
* property="ID",
* type="integer",
* description="user_id"
* ),
* @SWG\Property(
* property="username",
* type="string",
* description="username"
* )
* )
* )
*/

推荐阅读
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • phpcomposer 那个中文镜像是不是凉了 ... [详细]
  • Android日历提醒软件开源项目分享及使用教程
    本文介绍了一款名为Android日历提醒软件的开源项目,作者分享了该项目的代码和使用教程,并提供了GitHub项目地址。文章详细介绍了该软件的主界面风格、日程信息的分类查看功能,以及添加日程提醒和查看详情的界面。同时,作者还提醒了读者在使用过程中可能遇到的Android6.0权限问题,并提供了解决方法。 ... [详细]
  • gitlab重置password
    ruby没怎么学,自己搭建的gitlab的rootpassword又忘了。幸好看见此帖子,试验okhttp:roland.kierkels.netgitreset-your-git ... [详细]
  • http头_http头部注入
    1、http头部注入分析1、原理 ... [详细]
  • 03Spring使用注解方式注入
    基于注解的DI注入1.导包环境搭建:导入aop包(spring-aop-4.1.6.RELEASE.jar)2.创建类3.创建spring.xml配置文件(必须在src目录下)该配 ... [详细]
  • 浅谈EditText控件的inputType类型
    其中大多数是用不到的,这里总结一下常用的几种键盘效果1、numberDecimal(可以带小数点的浮点格式)只可以输入0-9数字和小数点,即只浮点数2、number(数字格式 )只 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
author-avatar
要么永远要么消失_324
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有