Я использую  RestSharp (версия 104.4 через NuGet) для совершения вызовов в веб-службу Rest. Я разработал набор объектов (POCO), который соответствует ресурсам, открытым в API. Однако имена свойств объектов не соответствуют ожидаемым службой Rest Rest при отправке данных, поэтому я хотел бы "преобразовать" их, когда я делаю запрос службе Rest, чтобы они соответствовали совпадению. Я прочитал, что добавление атрибута 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)
Я что-то пропустил?
