Restsharp: CÓMO: Enviar una publicación HTTP para un objeto complejo usando RestSharp

Creado en 4 oct. 2013  ·  3Comentarios  ·  Fuente: restsharp/RestSharp

¿Alguien podría aconsejarme sobre cómo enviar una publicación HTTP con los siguientes parámetros de solicitud?

{
    "key": "example key",
    "message": {
        "html": "<p>Example HTML content</p>",
        "text": "Example text content",
        "subject": "example subject",
        "from_email": "[email protected]",
        "from_name": "Example Name",
        "to": [
            {
                "email": "[email protected]",
                "name": "Recipient Name"
            }
        ],
        "headers": {
            "Reply-To": "[email protected]"
        },
        "important": false,
        "track_opens": null,
        "track_clicks": null,
        "auto_text": null,
        "auto_html": null,
        "inline_css": null,
        "url_strip_qs": null,
        "preserve_recipients": null,
        "view_content_link": null,
        "bcc_address": "[email protected]",
        "tracking_domain": null,
        "signing_domain": null,
        "return_path_domain": null,
        "merge": true,
        "global_merge_vars": [
            {
                "name": "merge1",
                "content": "merge1 content"
            }
        ],
        "merge_vars": [
            {
                "rcpt": "[email protected]",
                "vars": [
                    {
                        "name": "merge2",
                        "content": "merge2 content"
                    }
                ]
            }
        ],
        "tags": [
            "password-resets"
        ],
        "subaccount": "customer-123",
        "google_analytics_domains": [
            "example.com"
        ],
        "google_analytics_campaign": "[email protected]",
        "metadata": {
            "website": "www.example.com"
        },
        "recipient_metadata": [
            {
                "rcpt": "[email protected]",
                "values": {
                    "user_id": 123456
                }
            }
        ],
        "attachments": [
            {
                "type": "text/plain",
                "name": "myfile.txt",
                "content": "ZXhhbXBsZSBmaWxl"
            }
        ],
        "images": [
            {
                "type": "image/png",
                "name": "IMAGECID",
                "content": "ZXhhbXBsZSBmaWxl"
            }
        ]
    },
    "async": false,
    "ip_pool": "Main Pool",
    "send_at": "example send_at"
}

No estoy seguro de cómo hacer esto usando RestSharp

Comentario más útil

Hola,

1) Traduce tu JSON a POCO (http://json2csharp.com/ es genial para eso).
2)
var suobjeto = new MiObjeto{.....................};
var json = JsonConvert.SerializeObject(suobjeto);

var cliente = new RestClient(url);

var request = new RestRequest(actionPath, Method.POST);
solicitud .AddParameter("aplicación/json; charset=utf-8", json, ParameterType.RequestBody);
solicitud .RequestFormat = DataFormat.Json;

_client.ExecuteAsync(restRequest, respuesta => ........);

Todos 3 comentarios

Hola,

1) Traduce tu JSON a POCO (http://json2csharp.com/ es genial para eso).
2)
var suobjeto = new MiObjeto{.....................};
var json = JsonConvert.SerializeObject(suobjeto);

var cliente = new RestClient(url);

var request = new RestRequest(actionPath, Method.POST);
solicitud .AddParameter("aplicación/json; charset=utf-8", json, ParameterType.RequestBody);
solicitud .RequestFormat = DataFormat.Json;

_client.ExecuteAsync(restRequest, respuesta => ........);

¡gracias a mí también!

Para la posteridad, RestSharp tiene métodos incorporados para esto ahora.
Consulte el método AddJsonBody() de RestRequest
Esto es correcto para RestSharp 105.0.1.0 en adelante de todos modos.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

thomasd3 picture thomasd3  ·  5Comentarios

maximuss picture maximuss  ·  3Comentarios

AlexanderSchoenfeld picture AlexanderSchoenfeld  ·  3Comentarios

nilesh-shah picture nilesh-shah  ·  6Comentarios

weswitt picture weswitt  ·  3Comentarios