Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 3045|Resposta: 0

[Fonte] .NET/C# usa Refit para solicitar um erro de tipo enum parâmetro

[Copiar link]
Publicado em 23/07/2023 15:13:05 | | | |
Requisitos: Se houver um tipo de enum no parâmetro, a interface retornará um erro "400 Bad Request", porque o Refit converte o enum do objeto em uma string por padrão, e a interface não pode converter a string em um erro de enum, da seguinte forma:

{
    "tipo": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "título": "Um ou mais erros de validação ocorreram.",
    "status": 400,
    "traceId": "00-3aef79a91ce9c411883953c9aaccb48a-68917b547ba8a2e5-00",
    "erros": {
        "requisição": [
            "O campo de requisitos é obrigatório."
        ],
        "$.PermissõesLingua": [
            "O valor JSON não pôde ser convertido para LanguagePermissionsEnum. Caminho: $.languagePermissions | NúmeroLinha: 0 | BytePositionInLine: 145."
        ]
    }
}



A explicação oficial é que o motivo para converter enums em strings por padrão é porqueAumentar a legibilidade e facilitar a leitura das informações de conteúdo dos parâmetros。 Referência:O login do hiperlink está visível.

O comportamento padrão é serializar o enum para uma string, o que você pode alterar fornecendo ao serializador suas próprias configurações:O login do hiperlink está visível.



Então, passamos as configurações personalizadas de Refit e não usamos as configurações padrão, excluimosJsonStringEnumConverterO conversor está bom, o código é o seguinte:

Solução:O login do hiperlink está visível.
(Fim)




Anterior:.NET/C# framework leve de mapeamento de objetos Mapster
Próximo:.NET/C# Tutorial de Uso Simples da Polly
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com