A rest client for easier life
Project description
pspring-rest-client
This framework is member of pspring based family of frameworks. It provides a means to create rest clients with minimal code. requests
library is used internally for http requests.
Annotations / Decorators that come along with this framework are listed below
-
@RestClient(url="")
This decorator will add few boiler plate code that is required to interact with any rest endpoint. The methods significant aresend
,getUrl
,addHeader
.The
send
method would accept all arguments thatrequests.request
method would. This method will throwPayloadException
for all not HTTP 200 responses. ThePayloadException
hasresponse
andstatusCode
attributes which can be further used for error handling. TheaddHeader(name,value)
method would add an header ThegetUrl
will get the url that is configured along with@RestClient
decorator. ThehandleError
method is exists on the object will be invoked when received a non http 200 response. -
@Mapping(method="",url="")
This decorator will take care of replacing parameters in the url from arguments passed, send the request and return the response
Useful classes in this framework
RegExResponseMapper
- this class can be used to tranform one dictionary to another using regex. An example is shown below. The source dictionary fields can be accessed using $
notation. In the below example message
is a field inside the `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")
class MyRestClient():
@Mapping(method="GET",url="/user/{firstName}")
def getCustomer(self,firstName):
pass
@Mapping(method="POST",url="/user/",data=json)
def saveCustomer(self):
pass
@Mapping(method="POST",url="/user/")
def saveCustomer(self,customer):
self.json=customer
def handleError(self,response):
return regexmapper.map(response)
Documentation at pspring-rest-client
To do:
- To return objects based on the return type from the response received.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pspring-rest-client-0.2.3.tar.gz
.
File metadata
- Download URL: pspring-rest-client-0.2.3.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f14a29e6f2b6d9bb92acf2254f12273ccfbd836d4a03fa67a0b5d6857a7a4cf |
|
MD5 | 65ee0ac68d344e1bc8e1531292bce7c4 |
|
BLAKE2b-256 | 0453cdd1cad8a45904834229cb668d64e0314c391e750a870b9826fed019d586 |
File details
Details for the file pspring_rest_client-0.2.3-py3-none-any.whl
.
File metadata
- Download URL: pspring_rest_client-0.2.3-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6b47a8efed5de355a3d167cef60c85594b4e245b6fa622e5c49310b70a8c517 |
|
MD5 | 26844fa904ede2bea39b9d12a2171dcf |
|
BLAKE2b-256 | d1683696492b3eb80edd4c5dfd7cb7042624a1f2e1438e7d47c11203790a3d67 |