Когда я пытаюсь отправить запрос POST / PUT с помощью .NET FHIR API на сервер asp.net Web API 2, я получаю сообщение об ошибке:
Hl7.Fhir.Rest.FhirOperationException: операция не выполнена из-за
ошибка клиента (UnsupportedMediaType). В теле нет содержимого.
1) Нужно ли создавать какой-либо обработчик / форматер MediaType?
2) Существует ли сервер с открытым исходным кодом, в котором код реализует лучшие практики API .NET FHIR?
Я посмотрел на Fiddler, кажется, клиент fhir отправляет правильный JSON в теле
fhirClient = new FhirClient(serverUrl);
fhirClient.PreferredFormat = ResourceFormat.Json;
Patient patient = new Patient();
//fill patient
var response = fhirClient.Update(patient);
...
// сервер web api 2:
WebApiConfig.cs:
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/fhir+json"));
Я пытался:
[HttpPut]
public void Update([FromBody] Resource resource, string id = null)
{
// updating logic
}
//or
[HttpPut]
public void Update(Resource resource, string id = null)
{
// updating logic
}
но, когда я попробовал
[HttpPut]
public void Update([FromBody] object resource, string id = null)
{
Я могу видеть внутри "объекта" десериализованного пациента и использовать jsonParser, чтобы получить его обратно