Incluir compatibilização entre OperationResult e ProblemDetails.
Poderá ser criado um novo projeto, RoyalCode.OperationResults.ProblemDetails, que converte os resultados para detalhes de problemas, e vice-versa.
Nos projetos que convertem para resultados do MinimalAPI e MVC, pode ter uma função (desacoplada) que gere ProblemDetails em vez de resultado operação como resposta.
Mudanças no OperationResult atual:
Nas mensagens, possibilitar a adição de campos adicionais, informações extras, como id's.
O campo do Status Code deve se chamar Status.
Possibilitar o uso do campo Code para definir o código do problema, onde esse código é relativo ao Type do detalhe do problema.
Definir métodos para facilitar o uso do Code e de propriedades adicionais.
Além disso, deverá haver alguma forma de configurar os problemas.
Será necessário definir o código, título, status, para cada tipo de problema.
Também deverá ter uma configuração das opções base dos problemas, como Url base do type, onde o type será {UrlBase}/{Code}, UrlBase da instance, onde a instance será {UrlBase}/{Code}/{id}.
A instance deverá ser criada quando for informado o Id na hora de converter um ResultadoOperação para ProblemDetails.
Na configuração dos problemas, pode haver um campo para informar detalhes que descreve detalhes do problema, como esse problema pode ocorrer, e como pode ser contornado (se que é possível).
Incluir compatibilização entre OperationResult e ProblemDetails.
Poderá ser criado um novo projeto, RoyalCode.OperationResults.ProblemDetails, que converte os resultados para detalhes de problemas, e vice-versa.
Nos projetos que convertem para resultados do MinimalAPI e MVC, pode ter uma função (desacoplada) que gere ProblemDetails em vez de resultado operação como resposta.
Mudanças no OperationResult atual:
Além disso, deverá haver alguma forma de configurar os problemas.
Será necessário definir o código, título, status, para cada tipo de problema.
Também deverá ter uma configuração das opções base dos problemas, como Url base do type, onde o type será {UrlBase}/{Code}, UrlBase da instance, onde a instance será {UrlBase}/{Code}/{id}.
A instance deverá ser criada quando for informado o Id na hora de converter um ResultadoOperação para ProblemDetails.
Na configuração dos problemas, pode haver um campo para informar detalhes que descreve detalhes do problema, como esse problema pode ocorrer, e como pode ser contornado (se que é possível).