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



\

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用prepared语句在oracle中插入日期   对点具有双重值的java   使用多个通配符的java请求映射   java Springboot为什么要设置springbootstartertomcat   除了对JavaBean的请求之外,还使用servletContext的servlet   java如何清除OCSID。返回到池的连接时的CLIENTID JDBC客户端信息属性   将整型数组转换为光栅Java   java使用对象引用作为互斥锁   java为什么在编程语言中使用sin函数返回奇怪的sin值不像计算器   java如何将JButton链接到对象并调用相关方法   php用Java发送POST数据   导航属性的java模拟加载   java多个活动错误Android试图对空对象引用调用虚拟方法“”   java Android更改ActionBar文本颜色   如何使用带有java反射且不带开关的parant引用创建子类