anonymous Log in
Search
Recents:
v3.0
gx-l
Manejo del HTTP Response Code en Procedimiento
23/10/19 15:01

plusvalia

Replies: 4

Buenas!
Estoy desarrollando un Procedimiento el cual voy a exponer como un servicio REST.
Me gustaría poder definir el código de la respuesta en HTTP ante algunos errores de validación (en lugar de que devuelva HTTP 200).
Actualmente estoy haciendo lo siguiente:
> &BCLoanBalance.Load(0)
>
> If &BCLoanBalance.Success()
> //TODO
> Else
> &Message = &BCLoanBalance.GetMessages().Item(1)
> Do 'Error'
> EndIf
>
> Sub 'Error'
> &HTTPResponse.AddString(Format('{"error":{"code":"%1","message":"%2"}}', &Message.Id.Trim(), &Message.Description.Trim()))
> Return
> EndSub
La variable &BCLoanBalance es un Business Component y el código de arriba siempre va a dar error pues no hay ningún elemento con Id = 0 (es a propósito).
Este servicio REST hoy me devuelve el JSON del error que le agrego con la función AddString a &HTTPResponse pero el HTTP Status es 200. Me gustaría poder modificarlo a 500 o 400 por ejemplo.
Probé utilizar la propiedad &HTTPResponse.ErrCode pero la misma es de solo lectura.
¿Se puede hacer eso desde Genexus?
Gracias!!
Mateo Fernández
Executive Partner
Email: mateofd@plusvalialabs.com
LinkedIn: https://www.linkedin.com/in/mateofd <https://www.linkedin.com/in/mateofd>
Web: http://www.plusvalialabs.com <http://www.plusvalialabs.com/>
Make Tech Work for You...not the other way around
Don't print this email unless you have to. Let's protect the Environment.
No imprima este correo electrónico si no es necesario. Protejamos el Medio Ambiente.
-----------------------------------------
Para Suscribirse/Desuscribirse:
http://www.gxtechnical.com/cgi-bin/hforum.exe?2,3,30,1
Por consultas owner-gx-l@gxtech.com.uy
Replies

Esteban Carle

17/12/19 17:11
Por lo que tengo entendido… NOO, porque eso es el RESt a nivel de protocolo HTTP que lo hace (o sea si diera un error 500 automaticamente lo pone (son esos errore graves) Ahora los errores 400 que son funcionales en REST (por ej. que NO existe un registro) estimo también lo pone automatico.. Lo que he hecho. Es poner un param. De error de la propio sistema y devolver eso ante un error funcional (ej validar un dato y decir que NO esta correcto el mensaje )

plusvalia

17/12/19 18:19
Gracias Esteban por tu respuesta! Saludos, Mateo > On Dec 17, 2019, at 2:11 PM, ecarle2

Google

17/12/19 18:24
Mateo, Que generador usas ? Saludos, Alberto El mié., 23 oct. 2019 a las 12:01, "Mateo Fernández (Plusvalía Labs)" (< mateofd@plusvalialabs.com>)

plusvalia

17/12/19 18:26
.NET > On Dec 17, 2019, at 3:24 PM, Alberto Fernandez


Back to gx-l