Android Question How to read API result when ls_http.Success = False

sivakrith

Member
Licensed User
Longtime User
Hello,

B4A 11.50

I call API (written in PHP with Slim Framework) which returns value(s) with corresponding status code [=200, = 201, =422, =500 etc. ]. I need to read the result values whatever the return status code is.

[CODE lang="b4x" title="API Call"] ls_httpjob.PostString(Main.gs_url & url,ls_jsonstr)
wait for (ls_httpjob) jobDone(ls_http As HttpJob)

ls_result = ls_http.GetString
Log("ls_result: "& ls_result)
[/CODE]

When the return status code is 200, ls_result contains the correct return value. [ Even on this error condition, we changed to return status to 200 ].
//ls_result = {"Status":422,"Result":"Failed","Message":"Version does not match"}

When the return status code is 422, ls_result contains some value, don't know where and how it gets.
//ls_result = {"Status":422,"Result":"Failed","Message":"Version value is empty. Pass Version"}
We don't know why this message is read, which is to be returned on another condition.

When checked in Postman, we get the correct values. Only in B4A, we get the above wrong value.

Is there any way to read the correct return value(s) when the return status code is not 200? (Or) How to read return values on ls_http.Success = False?

Happiness Always
BKR Sivaprakash


Log entries

When ls_http.Success = False, we get the below line(s)
ResponseError. Reason: Unprocessable Entity, Response: {"Status":422,"Result":"Failed","Message":"Version does not match"}
ls_result: {"Status":422,"Result":"Failed","Message":"Version value is empty. Pass Version"}

When ls_http.Success = True, we get the below line(s)
ls_result: {"Status":422,"Result":"Failed","Message":"Version does not match"}
 
Hello,

Seems this code gives me the required result. Is this correct approach?

[CODE lang="b4x" title="Read Return Values"]If ls_http.Success = True Then
ls_result = ls_http.GetString
Else
ls_result = ls_http.Response.ErrorResponse
End If[/CODE]

Happiness Always
BKR Sivaprakash
 
Upvote 0
Back
Top