跳转到主要内容

轻松定义HTTP API。

项目描述

strut

使用HTTP格式化标准简化定义Web API。

Swagger/OpenAPI规范通常非常通用且非常有用。困难之处在于需要记住字段名称或文档的结构。必填字段在编译swagger时会带来很多噪音。

本规范的目的是通过更直观的输入,使定义HTTP端点变得更加容易。通过最小化格式和结构,并利用HTTP标准(可能开发者已经了解),可以更快、更容易地定义API。

安装

pip install strut

创建定义

为了充分利用这个库,有几种简单构造定义的方法。

.http 文件

.http 文件由一系列HTTP消息组成,可以用来描述一个服务。标准HTTP消息(由 rfc2616 定义)由双换行符分隔(与HTTP头和主体分隔的方式相同)。文件可以作为 listHttpRequest 对象读取。

最简单的定义可以通过双换行符分隔的 Http Message Request lines 实现。

GET /kittens

GET /dogs
Content-Type: application/json

strut swagger filename.http

作为服务的规范聚合

通过在本地运行 strut-server 脚本,您可以使用网页浏览器、curl、Postman 或任何其他HTTP客户端来调用该服务,并轻松积累规范。

可以将这些保存为 .http 格式文件以供重用。

以下是一个示例技术

pip install strut
strut-server &
> serving at port 4110

curl http://localhost:4110/kittens/
curl http://localhost:4110/dogs/
curl -XPOST http://localhost:4110/kittens/

这将生成以下swagger规范


info:
  description: ''
  title: Generated by Strut
  version: 1.0.0
openapi: 3.0.0
paths:
  /dogs:
    get:
      description: ''
      responses:
        '200':
          description: ''
  /kittens:
    get:
      description: ''
      responses:
        '200':
          description: ''
    post:
      description: ''
      responses:
        '200':
          description: ''

功能

文档

通过生成 Swagger yaml/json,该项目可以利用丰富的GUI定义社区。

.http 文件转换为 Swagger 文档

# yaml
strut swagger filename.http

# json 
strut swagger-json filename.http

测试

此格式应能推断标准 Gherkin 语法 测试,从而自动生成测试。

strut gherkin definition.http

代码生成

通过编译到 Swagger 代码,可以生成服务器代码。请参阅 "Generate Server" 选项卡下的 editor.swagger.io/ 上的示例实现。

strut swagger definition.http

网络脚本

http 文件可以描述对 web 服务器进行的一系列请求。这可以用来编写对服务的脚本,未来迭代中可能对多个服务进行脚本编写。

项目生命周期

测试项目

pytest

解析和渲染

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源代码分发

此发行版没有可用的源代码分发文件。请参阅有关 生成分发存档 的教程。

构建分发

strut-1.1.1-py2-none-any.whl (6.2 kB 查看哈希值)

上传时间 Python 2

由以下提供支持