Sample code for 30+ languages & platforms
Swift Requires Chilkat v11.0.0+

Example: Http.HttpJson method - Send a POST with JSON Body

See more HTTP Examples

Demonstrates how to call the HttpJson method, which sends an HTTP POST with a JSON body. This example sends the following request:
POST /echo_request_body.asp HTTP/1.1
Host: chilkatsoft.com
Accept: */*
Accept-Encoding: gzip
Content-Type: application/json
Content-Length: 26

{"greeting":"Hello World"}

Also see: Chilkat Http Default and Auto-Filled Headers

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

    let http = CkoHttp()!
    success = false

    let json = CkoJsonObject()!

    //  Build the following JSON:  {"greeting":"Hello World"}
    json.updateString(jsonPath: "greeting", value: "Hello World")

    //  This URL echoes the contents of the request body, letting us view it.
    var url: String? = "https://chilkatsoft.com/echo_request_body.asp"

    //  Send a POST with the JSON in the HTTP request body.
    let resp = CkoHttpResponse()!
    success = http.httpJson(verb: "POST", url: url, json: json, contentType: "application/json", response: resp)
    if success == false {
        print("\(http.lastErrorText!)")
        return
    }

    print("Response Status Code: \(resp.statusCode.intValue)")

    //  Examine the request we sent.
    //  The LastHeader property stores the HTTP request header of the most recent request sent,
    //  and in this instance, the response body mirrors the request body.
    print("\(http.lastHeader!)")
    print("\(resp.bodyStr!)")

    //  Output:

    //  POST /echo_request_body.asp HTTP/1.1
    //  Host: chilkatsoft.com
    //  Accept: */*
    //  Accept-Encoding: gzip
    //  Content-Type: application/json
    //  Content-Length: 26
    //  
    //  {"greeting":"Hello World"}

}