Как я могу быть уверен, что каждый раз, когда Refit отправляет вызов API в конечную точку, определяется объявление !DOCTYPE.
Hello, world!
Я обнаружил, что, когда он отсутствует, я получаю ответ об ошибке 400 с этим содержимым:
No message type defined for xml root node 'greeting, line 45:16
Technical ID 14f2a71af84#2fef8552034a12
Внутри файла программы я определил этот код:
services
.AddRefitClient(new()
{
ContentSerializer = new XmlContentSerializer()
});
Модели выглядят следующим образом:
[XmlSchemaProvider("hello.dtd")]
[XmlType("greeting")]
[XmlRoot("greeting")]
public class Greeting
{
[XmlText]
public string Text { get; set; }
}
А клиент Refit выглядит так:
public interface IEndpointApi
{
[Post("/endpoint")]
Task SendData([Body] Greeting greeting);
}
Подробнее здесь: https://stackoverflow.com/questions/787 ... sing-refit