Module for handler errors codes in your APIS
Project description
Cleandev Response Builder
Con esta libreria podras constuir "Response" para las apis de una forma facil usando un fichero de codigos de error para retornar mensajes en tus APIS.
Properties | Requerido | Valor por defecto | Descripción |
---|---|---|---|
name_file_codes | :heavy_check_mark: | - | Nombre del archivo de los codigos de error |
Es una clase con un solo método y varios parametros que analizaremos a continuación
Configuracion
El archivo properties.ini
existe una varaible name_file_codes
donde es la ruta de un fichero que contiene un json
con codigos y mensajes predefinidos
properties.ini
[RESP_BUILDER]
name_file_codes=resp_codes.json
resp_codes.json
{
"ERROR": {
"message": "Error"
},
"SUCCESS": {
"message": "Success"
}
}
mediante esta configuracion podremos acceder al contenido mediante el codigo
Ejemplo
Definimos el siguiente endpoint /login
en nuestra Api
from resp_builder import ResponseBuilder
from flask import Response
respose_builder = ResponseBuilder()
response: Response = respose_builder.response(
code='SUCCESS',
data={'anykey': 'anyvalue'},
status_code=200,
is_merge=True
)
print(response.json) # {"message": "Success", "anykey": "anyvalue"} http_code = 200
En este caso la salida de la request es {"message": "Success", "anykey": "anyvalue"}
con un codigo http 200 OK
Parametros
code
: Este es el codigo que debe estar en el fichero resp_codes.json
y retornara el valor asociado a dicho código
data
: Este parametro añade informacion extra a el response final, añadiendo los datos a la data que devuelve junto con
el codigo del fichero antes mencionado.
status_code
: Codigo http del response
is_merge
: Por defecto is_merge
es False
su implicación es en la forma que se construye los datos que retorna el
respone, en caso de ser False
se genera por un lado los datos provenientes del codigo del fichero resp_codes.json
y por otro los datos que pasamos en data
dentro de una llave data
en el json resultante.
Ejemplos
Para el siguiente caso se mezclan el contenido que viene del fichero de codigos {"message": "Success"}
+ lo que se
le pasa en la variable data
y dado que is merge
es True
no crea la llave data
en el json resultante
from resp_builder import ResponseBuilder
from flask import Response
respose_builder = ResponseBuilder()
response: Response = respose_builder.response(
code='SUCCESS',
data={'anykey': 'anyvalue'},
status_code=200,
is_merge=True
)
print(response.json) # {"message": "Success", "anykey": "anyvalue"} http_code = 200
El mismo ejemplo pero is_merge
es False
from resp_builder import ResponseBuilder
from flask import Response
respose_builder = ResponseBuilder()
response: Response = respose_builder.response(
code='SUCCESS',
data={'anykey': 'anyvalue'},
status_code=200,
is_merge=False
)
print(response.json) # {"message": "Success", "data":{"anykey": "anyvalue"} http_code = 200
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
Hashes for cleandev-resp-builder-0.2.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35b182ca22229978c7581478ea3f137e90dea3100f498075b8f0bd7137f58a57 |
|
MD5 | 90ce20757d52c2ded63244a53194c3ab |
|
BLAKE2b-256 | 9e2fc09048c7987b48e467885efaeb06004b0bd4b0e964f43103575a94d1dcf5 |