Skip to content

Instantly share code, notes, and snippets.

@KentarouKanno
Last active June 21, 2016 16:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save KentarouKanno/5814d45439da308808d830b4a7ff1840 to your computer and use it in GitHub Desktop.
Save KentarouKanno/5814d45439da308808d830b4a7ff1840 to your computer and use it in GitHub Desktop.

JsonStub

JsonStub

let url = NSURL(string: "http://jsonstub.com/XXXXXX_URL")!
let request = NSMutableURLRequest(URL: url)
request.HTTPMethod = "GET"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("XXXXX", forHTTPHeaderField: "JsonStub-User-Key")
request.setValue("XXXXX", forHTTPHeaderField: "JsonStub-Project-Key")

let config = NSURLSessionConfiguration.defaultSessionConfiguration()
let session = NSURLSession(configuration: config, delegate: nil, delegateQueue: NSOperationQueue.mainQueue())

let task = session.dataTaskWithRequest(request) { data, response, error in

    if let realResponse = response as? NSHTTPURLResponse {
        realResponse.allHeaderFields
    }
    
    if let _ = response, data = data {
        print(NSString(data: data, encoding: NSUTF8StringEncoding))
    } else {
        print(error)
    }
}
task.resume()

JSON Data

{
    "id"       : "12345",
    "name" : "Kentarou",
    "admin"    : true
}

★ Swift playground

import Foundation
import XCPlayground


let url = NSURL(string: "http://jsonstub.com/XXXXX_URL")!
let request = NSMutableURLRequest(URL: url)
request.HTTPMethod = "GET"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("XXXXX", forHTTPHeaderField: "JsonStub-User-Key")
request.setValue("XXXXX", forHTTPHeaderField: "JsonStub-Project-Key")

let config = NSURLSessionConfiguration.defaultSessionConfiguration()
let session = NSURLSession(configuration: config, delegate: nil, delegateQueue: NSOperationQueue.mainQueue())

let task = session.dataTaskWithRequest(request) { data, response, error in
    
    if let realResponse = response as? NSHTTPURLResponse {
        realResponse.allHeaderFields
    }
    
    if let _ = response, data = data {
        print(NSString(data: data, encoding: NSUTF8StringEncoding))
    } else {
        print(error)
    }
}
task.resume()

XCPlaygroundPage.currentPage.needsIndefiniteExecution = true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment