文章来源:华为云 API产品团队 黄泽艺,转载请声明版权。
前言
随着互联网行业的兴起,开发模式已逐步转换为微服务自治:小团队开发微服务,然后通过Restful接口相互调用。开发者们越来越渴望能够使用一种“官话”进行流畅的沟通,甚至实现多种编程语言系统的自动化交互。
开放API战略(Open API Initiativev)于2017年1月发表声明,2月发布实现草案,经过反复讨论, 标准API规范OAS(OpenAPI-Specification)3.0版本在2017年6月诞生。
本文通过对OAS 3.0的分析解读,希望抛砖引玉,和大家一起了解OAS如何定义一种机器和人都能够发现与识别的规范,使得OpenAPI消费者可使用最小数量的实现逻辑来理解远程服务。
(关于API网关的详情,可以点击下面链接进行体验:https://console.huaweicloud.com/apig/?region=cn-north-1#/apig/expdemo)
OpenAPI-Specification规范架构
OAS 3.0架构中将OpenAPI赋予了以下8个模块的定义,其中黄色模块为必选字段,绿色模块为可选字段:
各个主要模块工作流如下所示:
以下重点说明用户获取使OAS API信息的三个必选部分:
2.1 API基本信息
用户查询获取OpenAPI的基本定义及信息,涉及以下两个模块内容:
openapi
是否必选:必选
对象类型:String
类似于XML声明(<?xml version="1.0"?> ),用于设定文件应该使用哪一种规范进行解析。
info
是否必选:必选
对象类型:Info Object
这个模块主要提供API的元数据。
以下为一个Info Object样例:
title: Sample Pet Store App #必须,应用名称
description: This is a sample se