为了更轻松的生活而休息的客户
pspring-rest-client的Python项目详细描述
pspring rest客户端
这个框架是基于pspring的框架家族的成员。它提供了一种用最少的代码创建rest客户机的方法。requests
库在内部用于http请求。
此框架附带的注释/装饰符如下所示
@RestClient(url="")
这个decorator将添加一些与任何rest端点交互所需的锅炉板代码。有意义的方法有send
、getUrl
、addHeader
。send
方法将接受requests.request
方法将接受的所有参数。此方法将为所有非http 200响应抛出PayloadException
。PayloadException
具有response
和statusCode
属性,可进一步用于错误处理。addHeader(name,value)
方法将添加一个头getUrl
将获得与@RestClient
decorator一起配置的url。 当对象被接收到一个非HTTP 200响应时将被调用。@Mapping(method="",url="")
这个decorator将从传递的参数中替换url中的参数,发送请求并返回响应
此框架中的有用类
RegExResponseMapper
-这个类可用于使用regex将一个字典转换为另一个字典。下面是一个例子。可以使用$
符号访问源字典字段。在下面的示例中,message
是“response dictionary”中的一个字段。
regexmapper=RegExResponseMapper({".*Customer does not exist.*":{"statusCode":"404","code":"APS-1001","message":"$response.message"},".*":{"statusCode":"500","code":"APS-1002","message":"$response.message"}})@RestClient(url="https://myapi.com")classMyRestClient():@Mapping(method="GET",url="/user/{firstName}")defgetCustomer(self,firstName):passdefhandleError(self,response):returnregexmapper.map(response)
待办事项:
- 根据接收到的响应的返回类型返回对象。