vue前端ui框架_详细讲解帕米尔的春天

vue前端ui框架_详细讲解帕米尔的春天本文章描述的是Swagger3.0的内容,与Swagger2.0内容有较大差别。接口描述在3.0中通过Swagger规范(一个JSON文件)来描述,Swagger2.0是通过在接口中提供一系列注解来描述的。 1.集成Swagger    Swagger提供了一组静态页面,可以在SpringBoot应用中集成这些静态页面,直接访问静态页面,并打开指定的Swagger规范,就可以…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

本文章描述的是Swagger3.0的内容,与Swagger2.0内容有较大差别。接口描述在3.0中通过Swagger规范(一个JSON文件)来描述,Swagger2.0是通过在接口中提供一系列注解来描述的。

 

1.集成Swagger 

      Swagger提供了一组静态页面,可以在SpringBoot应用中集成这些静态页面,直接访问静态页面,并打开指定的Swagger规范,就可以显示RESTFul接口:

  • 进入Swagger官网,选择Swagger UI,点击下载。
  • 页面会跳转到GitHub
  • 在GitHub中,选择一个最新的版本下载,目前最新的是Swagger UI 3.20.5.
  • 下载解压后,找到dist目录,将目录里面所有的文件复制到新的SpringBoot项目中src\main\resources\static\swagger3\目录下面。
  • 访问http://localhost:8080/swagger3/index.html,会出现如下界面。

vue前端ui框架_详细讲解帕米尔的春天

  该页面加载的时候,会自动打开一个swagger接口规范文档,如上图输入框中所示:https://petstore.swagger.io/v2/swagger.json

  打开后的页面分为两部分,第一部分为接口的基本信息,包含了项目名称,描述等信息;第二部分包含了每个接口的具体描述,如接口名字,参数名字,参数类型,是否必填等,还有返回的结果的示例。

注意:默认提供的Petstore接口调用并不能成功,因为这涉及跨域问题,在localhost环境下发起对petstore.swagger.io的AJAX调用会导致失败。

2.Swagger规范

    swagger规范是一个JSON格式的文件,包含项目基本信息及具体接口描述信息,可以在swagger3下创建一个sample.json文件,我们将逐渐完善。

{
  "swagger":"2.0",
  "info":{
    "description":"这是一个项目简单实例",
    "version":"1.0",
    "tirle":"系统接口",
  },
  "basePath":"/api/v1",
  "consumes":[
    "application/x-www-form-urlencode"
  ]
}

Jetbrains全家桶1年46,售后保障稳定

  • 属性swagger总是规范的第一个属性,固定为2.0,指的是Swagger规范2.0。
  • info描述了一个项目的基本信息。
  • basePath:指的是RESRFul接口的实际地址,以上是/api/v1,则REST接口的地址则是127.0.0.1:8080/api/v1。
  • consumes:指提交的内容是表单。

重新访问网址http://localhost:8080/swagger3/index.html,并且在页面填写规范地址:

http://localhost:8080/swagger3/sample.json

点击Explore按钮,页面刷新后,如下所示:

vue前端ui框架_详细讲解帕米尔的春天

3.接口描述

 

"paths":{
     "/order/{orderId}":{
       "get":{
         "summary":"获取订单详细信息",
         "description":"传入订单编号,获取订单信息",
         "parameters":[
           {
             "name":"orderId",
             "in":"path",
             "description":"订单Id",
             "required":true
           }
         ],
         "responses":{
           "200":{
             "description":"获取用户信息成功"
           }
         }
       }
     }
  }

vue前端ui框架_详细讲解帕米尔的春天

每个接口包含了以下信息:

  • summary:接口主要功能的简要描述
  • description:接口详细描述
  • parameters:接口的参数,REST参数在Swagger中分为四个类型,以上实例的参数类型是path,也就是参数是从path中获取的,其他的还有body,parameter等。
  • response:对应了HTTP status的提示信息,这里描述了成功的提示信息。

4.查询参数描述

 

        "parameters":[
          {
            "name":"offset",
            "in":"query",
            "description":"查询起始位置",
            "required":true
          }
        ]
https://localhost:8080/api/v1/order?offset=12

5.HTTP头参数

        "parameters":[
          {
            "name":"X-Request-ID",
            "in":"header",
            "description":"",
          }
        ]

6.表单参数

使用application/x-www-form-urlencoded提交的参数,in的值使用formData。

        "parameters":[
          {
            "name":"orderName",
            "in":"formData",
            "description":"",
            "required":true
          }
        ]

7.文件上传参数 

        "parameters":[
          {
            "name":"orderName",
            "in":"formData",
            "description":"",
            "type":"file"
          }
        ]

8.整个请求体作为参数

    "/order":{
      "post":{
        "summary":"创建订单",
        "description":"创建一个新订单",
        "parameters":[
          {
            "name":"order",
            "in":"body",
            "description":"包含订单信息的JSON",
            "required":true,
            "schema":{
              "$ref":"#/definitions/order"
            }
          }
        ],
        "responses":{
          "200":{
            "description":"创建订单成功"
          }
        }
      }
    }
  "definitions":{
    "order":{
      "type":"object",
      "properties":{
        "id":{
          "type":"string"
        },
        "name":{
          "type":"string"
        }
      }
    }
  }

 

 

未完待续…

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226802.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 巴伦电路基础_巴伦变压器

    巴伦电路基础_巴伦变压器本文转自博文:http://whoshallwe.blog.163.com/blog/static/5074415520127723238151/需要巴伦的原因?   差分电路具有高增益、抗电磁干扰、抗电源噪声、抗地噪声能力很高、抑制偶次谐波等优点。如今,在RF电路和低频电路中,差分电路的使用越来越广泛。所以,巴伦的重要性也与日俱增。balun短语分析balun是由“balanc

    2025年6月10日
    0
  • SpringMVC-@RequestMapping的参数和用法

    SpringMVC-@RequestMapping的参数和用法RequestMapping里面的注解包含的参数如图:RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。@RequestMapping除了修饰方法,还可来修饰类:类定义处:提供初步的请求映射信息。相对于WEB应用的根目录;方法处:提供进一步的细分映射信息。相对于类定义处的URL。若类定义处未

    2022年5月26日
    65
  • 照片怎样编辑文字_微信编辑文字显示全文

    照片怎样编辑文字_微信编辑文字显示全文Jeditable-jQuery就地编辑插件使用jeditable是一个jquery插件,它的优点是可以就地编辑,并且提交到服务器处理,是一个不可多得的就地编辑插件。(注:就地编辑,也有称即时编辑

    2022年8月1日
    1
  • 2021最新Java基础篇(后续已更新到另一篇文章)

    2021最新Java基础篇(后续已更新到另一篇文章)提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、Java基础?1.1什么是变量:1.2类型的分类:1.3类型的大小:1.4类型的转换与强制类型转换:二、使用步骤1.引入库2.读入数据总结前言提示:在这里可以学到Java基础内容。一、Java基础?1.1什么是变量:变量就是系统为程序分配的一块内存单元,用来存储各种类型的数据。由于该存储单元中的数据可以发生改变,因此得名为”变量”1.2类型的分类:1、基本数据类型变量2、引用数据类型变量

    2022年7月9日
    17
  • JMESPath_英语语法如何自学

    JMESPath_英语语法如何自学前言JMESPath是JSON的查询语言。您可以从JSON文档中提取和转换元素官方文档:https://jmespath.org/tutorial.html基本表达式JMESPath用的最多的

    2022年7月29日
    5
  • 反相加法器与同相加法器对比分析「建议收藏」

    反相加法器与同相加法器对比分析「建议收藏」最近对比复习了模电里面同相加法器与反相加法器电路。分析了他们之间的差别,并将分析过程记录在下,欢迎大家交流讨论。1、反相加法器R为平衡电阻,R=R1//R2//Rf。根据运算放大器的虚短虚断特性

    2022年7月3日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号