magicarp api是flask微框架的扩展,它允许开发人员从一开始就构建功能性restfulapi。
magicarp-api的Python项目详细描述
#magicarp api
关于project
magicarp api是一个微型框架,构建在烧瓶和它的蓝图之上。
主要目标是减轻启动新项目的负担,只允许开发人员进入端点创建。这是通过提供易于使用的默认设置来实现的,但是可以随意替换或扩展。
主要功能是:
-能够理解版本的路由
-输入/输出模式(糟糕地基于json模式),它强制执行t和输入/输出上的详细错误处理
-自我发现和自我文档
-宇宙常数的无障碍默认值,如日志记录、错误
处理和使用会话处理
`pip install magicarp api`
,或者从源代码:
app=create_app()
```
,然后根据烧瓶文档,应用程序可以启动为:
```
!!/usr/bin/env bash
export flask_app=api.server
flask在默认magicarp上运行
````
公开映射所有url的端点,并使用pong ping应答
。早期版本有助于发现(和调试),后期版本允许
运行状况检查API服务器(用于CI、测试或调试)。
要获取新的端点,必须注册
描述它们的新蓝图。它必须在服务器启动之前完成,例如好的地方
可能是主子包的init。注意:理论上是有可能的,但是在
中,在服务器运行时操作路由是个坏主意。
1.蓝图)
路由。register_version(none,non_versioned.blueprints)
````
第一个参数是version,如果我们指定none,则表示端点没有
版本化(并且始终可用),如果version是我们所期望的,则参数
应该是1到3个元素长的元组,它们都是正整数。
第二个参数是"蓝图"列表,magicarp的蓝图是flask提供的标准蓝图的扩展。
|-&垃圾桶/
>
>
>
>
>><<<
>
>>>
>>
><< |->;product.py
导入用户,product
blueprints=(
user.blueprint,
product.blueprint,
)
`````
in`api/non-versioned/\uu init.py`我们需要定义蓝图列表,例如:
```
from。导入邮政编码
blueprints=(
postcode.blueprint,
)
````
,其中blueprint的定义如下:
来自API导入业务逻辑,模式
Class createuser(endpoint.baseendpoint):
前缀和名称空间
会被自动考虑在内,因此在我们的例子中,这个特殊的
dpoint from previous version
name='创建配置'
返回将被注入此架构(如果它没有或没有意义,则可能导致异常)
output_schema=schema.reply.general.resourceCreated
's optional
response=response.create嫒response
action()作为
输入模式,通过更改参数名,我们可以将其修改为更可读的
参数名='用户模式'
这是业务逻辑应该存在的地方s-different
se blueprint只是flask的扩展,我们可以将它用于
ser.update({
"message":"configuration created.",
"url":url_for(details悻url,uid=configuration['uid'],
})
对承诺的
进行回复(如果无法回复,则抛出异常)
返回instance
uu name\uu,namespace='/user',routes=[
createuser(),
]
````
Hortly描述了如何添加新端点。不过,人们可能会问:什么是输入模式、输出模式、响应等。如何注册我自己的错误处理程序等。如果您想了解更多信息,请访问api scaffold,该scaffold演示了框架中可用的大多数功能:
*https://github.com/drachenfels/api scaffold
但如果它们占据不同的版本,则是继承开始时。
想象一下以下结构:
`````
v1:
/用户
-/u-a
-/u-b
/产品
-/p-a
-/p-b
v2:
/用户
-/u-b(覆盖版本v1)
v3:
/用户
-/u-c
/product
-/p-a
-/p-c
````
>烧瓶可见的端点为:
*/1/用户/u-a
*/1/用户/u-b
*/1/p产品/p-a
*/1/产品/p-b
*/2/用户/u-a
*/2/用户/u-b(覆盖版本v1)
*/3/用户/u-a
*/3/用户/u-b(override版本v1)
*/3/user/u-c
*/3/product/p-a
*/3/product/p-c
*https://github.com/drachenfels/magicarp-api/issues
\
关于project
magicarp api是一个微型框架,构建在烧瓶和它的蓝图之上。
主要目标是减轻启动新项目的负担,只允许开发人员进入端点创建。这是通过提供易于使用的默认设置来实现的,但是可以随意替换或扩展。
主要功能是:
-能够理解版本的路由
-输入/输出模式(糟糕地基于json模式),它强制执行t和输入/输出上的详细错误处理
-自我发现和自我文档
-宇宙常数的无障碍默认值,如日志记录、错误
处理和使用会话处理
`pip install magicarp api`
,或者从源代码:
app=create_app()
```
,然后根据烧瓶文档,应用程序可以启动为:
```
!!/usr/bin/env bash
export flask_app=api.server
flask在默认magicarp上运行
````
公开映射所有url的端点,并使用pong ping应答
。早期版本有助于发现(和调试),后期版本允许
运行状况检查API服务器(用于CI、测试或调试)。
要获取新的端点,必须注册
描述它们的新蓝图。它必须在服务器启动之前完成,例如好的地方
可能是主子包的init。注意:理论上是有可能的,但是在
中,在服务器运行时操作路由是个坏主意。
1.蓝图)
路由。register_version(none,non_versioned.blueprints)
````
第一个参数是version,如果我们指定none,则表示端点没有
版本化(并且始终可用),如果version是我们所期望的,则参数
应该是1到3个元素长的元组,它们都是正整数。
第二个参数是"蓝图"列表,magicarp的蓝图是flask提供的标准蓝图的扩展。
|-&垃圾桶/
>
>
>
>
>><<<
>
>>>
>>
><<
导入用户,product
blueprints=(
user.blueprint,
product.blueprint,
)
`````
in`api/non-versioned/\uu init.py`我们需要定义蓝图列表,例如:
```
from。导入邮政编码
blueprints=(
postcode.blueprint,
)
````
,其中blueprint的定义如下:
来自API导入业务逻辑,模式
Class createuser(endpoint.baseendpoint):
前缀和名称空间
会被自动考虑在内,因此在我们的例子中,这个特殊的
dpoint from previous version
name='创建配置'
返回将被注入此架构(如果它没有或没有意义,则可能导致异常)
output_schema=schema.reply.general.resourceCreated
's optional
response=response.create嫒response
action()作为
输入模式,通过更改参数名,我们可以将其修改为更可读的
参数名='用户模式'
这是业务逻辑应该存在的地方s-different
se blueprint只是flask的扩展,我们可以将它用于
ser.update({
"message":"configuration created.",
"url":url_for(details悻url,uid=configuration['uid'],
})
对承诺的
进行回复(如果无法回复,则抛出异常)
返回instance
createuser(),
]
````
Hortly描述了如何添加新端点。不过,人们可能会问:什么是输入模式、输出模式、响应等。如何注册我自己的错误处理程序等。如果您想了解更多信息,请访问api scaffold,该scaffold演示了框架中可用的大多数功能:
*https://github.com/drachenfels/api scaffold
但如果它们占据不同的版本,则是继承开始时。
想象一下以下结构:
`````
v1:
/用户
-/u-a
-/u-b
/产品
-/p-a
-/p-b
v2:
/用户
-/u-b(覆盖版本v1)
v3:
/用户
-/u-c
/product
-/p-a
-/p-c
````
>烧瓶可见的端点为:
*/1/用户/u-a
*/1/用户/u-b
*/1/p产品/p-a
*/1/产品/p-b
*/2/用户/u-a
*/2/用户/u-b(覆盖版本v1)
*/3/用户/u-a
*/3/用户/u-b(override版本v1)
*/3/user/u-c
*/3/product/p-a
*/3/product/p-c
*https://github.com/drachenfels/magicarp-api/issues
\