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
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