Histórico da Página
...
Bloco de código |
---|
DEFINE OUTPUT PARAM jsonOutput AS JsonObject NO-UNDO. DEFINE VARIABLE oJsonObject AS JsonObject NO-UNDO. DEFINE VARIABLE oResponse AS JsonAPIResponse NO-UNDO. ASSIGN oJsonObject = NEW JSONObject(). oResponse = NEW JsonAPIResponse(oJsonObject). oResponse:setHasNext(FALSE). oResponse:setStatus(500). oResponse:setRowErrors(JsonAPIUtils:convertTempTableToJsonObject(TEMP-TABLE RowErrors:HANDLE):getJsonArray("RowErrors")). jsonOutput = oResponse:createJsonResponse(). |
Construtor
Parâmetro | Descrição |
---|---|
JsonConstruct | Objeto JsonObject ou JsonArray com o conteúdo a ser retornado pela API Progress (Payload) |
Métodos
Nome | Descrição | |||||
---|---|---|---|---|---|---|
setStatus | Seta o Status HTTP do retorno da requisição (200, 404, 500, etc). | |||||
setHasNext | Seta o indicador da existências de mais registros para paginação. | |||||
setRowErrors | Seta um objeto JsonArray com a representação da tabela de erros (RowErrors). Para a conversão da tabela de erros em objeto JsonArray utilize o seguinte exemplo:
| |||||
setAppError | Seta um objeto de erro do tipo Progress.Lang.AppError | |||||
setError | Seta um objeto de erro do tipo Progress.Lang.Error
| |||||
createJsonResponse | Cria o objeto JsonObject estruturado para ser retornado pela API Progress. |
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 |
Bloco de código | ||
---|---|---|
| ||
... {method/dbotterr.i} DEFINE OUTPUT PARAM jsonOutput AS JsonObject NO-UNDO. DEFINE VARIABLE oJsonObject AS JsonObject NO-UNDO. DEFINE VARIABLE oResponse AS JsonAPIResponse NO-UNDO. ASSIGN oJsonObject = NEW JSONObject() oResponse = NEW JsonAPIResponse(oJsonObject). CREATE RowErrors. ASSIGN RowErrors.ErrorNumber = 1 RowErrors.ErrorDescription = "Descrição do Erro" RowErrors.ErrorSubType = "ERROR". CREATE RowErrors. ASSIGN RowErrors.ErrorNumber = 2 RowErrors.ErrorDescription = "Descrição do Erro2" RowErrors.ErrorSubType = "ERROR". oResponse:setHasNext(FALSE). oResponse:setStatus(500). oResponse:setRowErrors(JsonAPIUtils:convertTempTableToJsonObject(TEMP-TABLE RowErrors:HANDLE):getJsonArray("RowErrors")). jsonOutput = oResponse:createJsonResponse(). ... /* 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":"", "details":[{ "code":"2", "message":"Descrição do Erro2", "type":"error", "detailedMessage":"" }] } } */ |
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". |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas