Rest - setRestFault - Padronização de Mensagem de erro

Estou tentando implementar minhas novas APIs com a padronização de acordo com os novos guias de implantação de APIs da Totvs, para integrar o Protheus com POUI, porém não estou conseguindo fazer que a mensagem de retorno de erro fique igual ao padrão da documentação.

Estou usando a função setRestFault, onde a mesma esta retornando a mensagem conforme abaixo, com as propriedades errorCode e errorMessage.

{
    "errorCode": 450,
    "errorMessage": "Não foi possível localizar o cadastro do livro."
}

Porém conforme a documentação deveria estar retornando da seguinte conforme abaixo, com as propriedades code, message, detailedMessage e podendo até ter mais informações.

{
    code: "450",
    message: "Não foi possível localizar o cadastro do livro.",
    detailedMessage: "O código informado não foi localizado no cadastro de livros.",
}

Estou preenchendo a função setRestFault da seguinte forma:

    setRestFault( 450, "Não foi possível localizar o cadastro do livro.", .T., 400, "O código informado não foi localizado no cadastro de livros." )

Segue abaixo o link das documentações que estou seguindo:

https://tdn.totvs.com.br/pages/releaseview.action?pageId=484701395

https://tdn.totvs.com/display/public/framework/SetRestFault

https://po-ui.io/guides/api#errorMessages

https://tdn.totvs.com/pages/releaseview.action?pageId=453308173

Eu vi até que nas documentações fala para usar o parâmetro TTALK, para enviar no formato novo, porém aparentemente esse parâmetro TTALK só é aplicavel ao método antigo de fazer APIs WSMETHOD, porém não explica como fazer com o novo padrão com annotation

compartilhar
  • Altera a forma de resposta do erro. Retira o "setRestFault" e utiliza o exemplo direto. Exemplo. oResponse['code'] = 400 oResponse['message'] = 'Mensagem de erro' oResponse['detailedMessage'] = 'Detalhe da mensagem de erro'. oResponse:ToJson()

    Matheus Costa   11 de Jan de 2024
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags rest ou faça a sua própria pergunta.