Histórico da Página
...
- asWarning (JsonObject com a tabela temporária RowErrors);
- asWarning (JsonObject com o status e a tabela temporária RowErrors);
- asWarning (JsonArray com indicador de existência de próximo registro e a tabela temporária RowErrors);
- empty(com e sem status).
Métodos
Nome | Descrição |
---|---|
ok | Cria um retorno positivo com o payload e com o código do status HTTP 200 (é possível informar um status). |
asError | Cria um retorno de erro com uma lista erros da RowErrors e com o código do status HTTP 500 (é possível informar um status). |
asWarning | Cria um retorno positivo com uma lista warnings da RowErrors e com o código do status HTTP 200 (é possível informar um status). |
empty | Cria um retorno vazio e com o código do status HTTP 200 (é possível informar um status). |
Exemplos
Bloco de código | ||
---|---|---|
| ||
...
DEFINE OUTPUT PARAM jsonOutput AS JsonObject NO-UNDO.
DEFINE VARIABLE oJsonObject AS JsonObject NO-UNDO.
ASSIGN oJsonObject = NEW JSONObject().
jsonOutput = JsonAPIResponseBuilder:ok(oJsonObject).
/* ou */
jsonOutput = JsonAPIResponseBuilder:ok(oJsonObject, 201). /* retorna status 201 */
/* ou */
jsonOutput = JsonAPIResponseBuilder:ok(oJsonObject, TRUE). /* existencia de próximo registro */
...
/*
No exemplo acima será retornado um Json na variável "jsonOutput" no seguinte formato, podendo ter o status alterado:
{
"status":200,
"payload":{conteudo_do_oJsonObject}
}
*/ |
Bloco de código | ||
---|---|---|
| ||
... DEFINE OUTPUT PARAM jsonOutput AS JsonObject NO-UNDO. DEFINE VARIABLE oAppError AS Progress.Lang.AppError NO-UNDO. ASSIGN oAppError = NEW Progress.Lang.AppError(). oAppError:AddMessage("Descrição do Erro", 1). jsonOutput = JsonAPIResponseBuilder:asError(oAppError). /* ou */ jsonOutput = JsonAPIResponseBuilder:asError(oAppError, 401). /* retorna status 401 */ ... /* No exemplo acima será retornado um Json na variável "jsonOutput" no seguinte formato, podendo ter o status alterado: { "status":500, "payload":{ "code":1, "message":"Descrição do Erro", "type":"error", "detailedMessage":"Progress.Lang.AppError" } } */ |
Bloco de código | ||
---|---|---|
| ||
... {method/dbotterr.i} DEFINE OUTPUT PARAM jsonOutput AS JsonObject NO-UNDO. CREATE RowErrors. ASSIGN RowErrors.ErrorNumber = 1 RowErrors.ErrorDescription = "Descrição do Erro" RowErrors.ErrorSubType = "ERROR". jsonOutput = JsonAPIResponseBuilder:asError(TEMP-TABLE RowErrors:HANDLE). ... /* No exemplo acima será retornado um Json na variável "jsonOutput" no seguinte formato: { "status":500, "payload":{ "code":"1", "message":"Descrição do Erro", "type":"error", "detailedMessage":"" } } */ |
Bloco de código | ||
---|---|---|
| ||
...
DEFINE OUTPUT PARAM jsonOutput AS JsonObject NO-UNDO.
ASSIGN oJsonArray = NEW JsonArray()
oJsonObject = NEW JsonObject().
oJsonObject:Add("ErrorNumber", 1).
oJsonObject:Add("ErrorDescription", "Descrição do erro").
oJsonObject:Add("ErrorSubType", "error").
oJsonArray:Add(oJsonObject).
jsonOutput = JsonAPIResponseBuilder:asError(oJsonArray, 403). /* retorna status 403 */
...
/*
No exemplo acima será retornado um Json na variável "jsonOutput" no seguinte formato:
{
"status":403,
"payload":{
"code":"1",
"message":"Descrição do erro",
"type":"error",
"detailedMessage":""
}
}
*/ |
Bloco de código | ||
---|---|---|
| ||
... {method/dbotterr.i} DEFINE OUTPUT PARAM jsonOutput AS JsonObject NO-UNDO. DEFINE VARIABLE oJsonObject AS JsonObject NO-UNDO. ASSIGN oJsonObject = NEW JSONObject(). CREATE RowErrors. ASSIGN RowErrors.ErrorNumber = 1 RowErrors.ErrorDescription = "Descrição do alerta" RowErrors.ErrorSubType = "warning". jsonOutput = JsonAPIResponseBuilder:asWarning(oJsonObject, TEMP-TABLE RowErrors:HANDLE). /* ou */ jsonOutput = JsonAPIResponseBuilder:asWarning(oJsonObject, 201, TEMP-TABLE RowErrors:HANDLE). /* retorna status 401201 */ ... /* No exemplo acima será retornado um Json na variável "jsonOutput" no seguinte formato, podendo ter o status alterado: { "status":200, "payload":{ "_messages":{ "code":"1", "message":"Descrição do alerta", "type":"warning", "detailedMessage":"" } } } */ |
Bloco de código | ||
---|---|---|
| ||
... {method/dbotterr.i} DEFINE OUTPUT PARAM jsonOutput AS JsonObject NO-UNDO. DEFINE VARIABLE oJsonArray AS JsonArray NO-UNDO. ASSIGN oJsonArray = NEW JsonArray(). CREATE RowErrors. ASSIGN RowErrors.ErrorNumber = 1 RowErrors.ErrorDescription = "Descrição do alerta" RowErrors.ErrorSubType = "warning". jsonOutput = JsonAPIResponseBuilder:asWarning(oJsonArray, FALSE, TEMP-TABLE RowErrors:HANDLE). ... /* No exemplo acima será retornado um Json na variável "jsonOutput" no seguinte formato: { "status":200, "payload":{ "_messages":{ "code":"1", "message":"Descrição do alerta", "type":"warning", "detailedMessage":"" }, "total":0, "items":[], "hasNext":false } } */ |
Bloco de código | ||
---|---|---|
| ||
... DEFINE OUTPUT PARAM jsonOutput AS JsonObject NO-UNDO. jsonOutput = JsonAPIResponseBuilder:empty(). /* ou */ jsonOutput = JsonAPIResponseBuilder:empty(500). /* retorna status 500 */ ... /* No exemplo acima será retornado um Json na variável "jsonOutput" no seguinte formato, podendo ter o status alterado: { "status":200, "payload":{} } */ |
Mapeamento da RowErrors (include method/dbotterr.i):
Campo | Json | Descrição |
---|---|---|
ErrorNumber | code | Código da mensagem |
ErrorDescription | message | Descrição da mensagem |
ErrorSubType | type | Tipo de mensagem |
ErrorHelp | detailedMessage | Help da mensagem |
Informações | ||
---|---|---|
| ||
A tag "details" somente aparecerá no JSON quando houver mais de uma mensagem do mesmo tipo, exemplo: duas mensagens de "error" ou duas mensagens de "warning". |
Nota | ||
---|---|---|
| ||
O retorno dos objetos seguem o padrão conforme o "Guia de implementação de API V2.0". |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas