Сериализация RestSharp в JSON, объект не использует атрибут SerializeAs, как ожидалось

я используюRestSharp (версия 104.4 через NuGet) для звонков в веб-службу отдыха. Я разработал набор объектов (POCO), который соответствует ресурсам, представленным в API. Однако имена свойств моих объектов не совпадают с ожидаемыми службой отдыха при публикации данных, поэтому я хотел бы «преобразовать» их, когда отправляю запрос в службу отдыха, чтобы они соответствовали. Я прочитал, что добавлениеSerializeAs Атрибут (с указанным именем) в свойстве моего POCO заставит их сериализоваться правильно, но это не так.

Мой POCO

Imports RestSharp.Serializers

<Serializable(), SerializeAs(Name:="ApiMember")>
Public Class ApiMember
    <SerializeAs(Name:="id")>
    Public Property Id As Integer?

    <SerializeAs(Name:="email")>
    Public Property EmailAddress As String

    <SerializeAs(Name:="firstname")>
    Public Property Firstname As String

    <SerializeAs(Name:="lastname")>
    Public Property Lastname As String
End Class

Мой призыв к API

Dim request As RestRequest = New RestRequest(Method.POST)
Dim member As ApiMember = new ApiMember()

member.EmailAddress = "[email protected]"

request.Resource = "members"
request.RequestFormat = DataFormat.Json
request.AddBody(member)

Dim client As RestClient = New RestClient()
client.BaseUrl = "http://url.com"
client.Authenticator = New HttpBasicAuthenticator("username", "password")
client.Execute(Of ApiGenericResponse)(request)

Что заканчивается публикацией

{"Id":null,"EmailAddress":"[email protected]","Firstname":null,"Lastname":null}

Обратите внимание, что имя свойства не совпадает с тем, что я указал вSerializeAs (прописные буквы, имя EmailAddress)

Я что-то пропустил ?

Ответы на вопрос(4)

Ваш ответ на вопрос