Отправьте !DOCTYPE внутри содержимого XML с помощью Refit.C#

Место общения программистов C#
Anonymous
Отправьте !DOCTYPE внутри содержимого XML с помощью Refit.

Сообщение Anonymous »

Как я могу быть уверен, что каждый раз, когда 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

Вернуться в «C#»