Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Bloco de código
titleJsonAPIResponseBuilder:ok()
...

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, se nao for especificado o status, será retornado um Json na variável "jsonOutput" no seguinte formato:
{
	"status":200,
	"payload":{conteudo_do_oJsonObject}
}
*/
Bloco de código
titleJsonAPIResponseBuilder:asError() - Interface Error
...

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, se nao for especificado o status, será retornado um Json na variável "jsonOutput" no seguinte formato:
{
	"status":500,
	"payload":{
		"code":1,
		"message":"Descrição do Erro",
		"type":"error",
		"detailedMessage":"Progress.Lang.AppError"
	}
}
*/
Bloco de código
titleJsonAPIResponseBuilder:asError() - Tabela temporária RowErrors
...

{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
titleJsonAPIResponseBuilder:asError() - JsonArray com status
...

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
titleJsonAPIResponseBuilder:asWarning() - Tabela temporária RowErrors
...

{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, se nao for especificado o status, 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":""
		}
	}
}
*/
Bloco de código
titleJsonAPIResponseBuilder:asWarning() - JsonArray
...

{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
titleJsonAPIResponseBuilder:empty()
...

DEFINE OUTPUT PARAM jsonOutput AS JsonObject NO-UNDO.

jsonOutput = JsonAPIResponseBuilder:empty().

/* ou */ 
jsonOutput = JsonAPIResponseBuilder:empty(500). /* retorna status 500 */

...
/*
No exemplo acima, se nao for especificado o status, será retornado um Json na variável "jsonOutput" no seguinte formato:
{
	"status":200,
	"payload":{}
}
*/
Nota
titleImportante

O retorno dos objetos seguem o padrão conforme o "Guia de implementação de API V2.0".