Простая запись из функции Azure в API
using (var response = await httpClient.PostAsJsonAsync(installationServiceUrl, deviceInstallation.ToRequestBody()))
{...}
API получает запрос, но не может связать модель из запроса
Но Request.Content
- этоне нуль и содержит отправленный JSON
объект.Заголовок Content-Type установлен на application / json.
Есть предложения?
Обновление: Как я понял, кое-как API считает, что Model - это простое строковое значение (locationId
), по крайней мереВот как я понимаю из ModelState.Keys
коллекции.Он содержит только locationId
.
Обновление: метод ToRequestBody
просто меняет форму объекта
public static DeviceInstallationRequest ToRequestBody(this DeviceInstallation deviceInstallation)
{
return new DeviceInstallationRequest()
{
InstallationId = deviceInstallation.InstallationId,
Name = deviceInstallation.Name,
StartDateTime = deviceInstallation.StartDateTime,
EndDateTime = deviceInstallation.EndDateTime,
CreatedDateTime = deviceInstallation.CreatedDateTime,
InstallationType = deviceInstallation.InstallationType,
Production = deviceInstallation.Production,
Default = deviceInstallation.Default
}
}
И ожидаемая модель на стороне API:
public class BindDeviceInstallationRequest
{
[Required]
public string InstallationId { get; set; }
[Required]
public string Name { get; set; }
[Required]
public DateTime StartDateTime { get; set; }
[Required]
public DateTime EndDateTime { get; set; }
[Required]
public DateTime CreatedDateTime { get; set; }
[Required]
public InstallationType InstallationType { get; set; }
[Required]
public bool Production { get; set; }
[Required]
public bool Default { get; set; }
}