我想使用JWT令牌安全地从API提供我的数据。所以目前我已经在后端实现了安全性,并且每个ajax调用了标题
url:"https://dataurl,
contentType : "application/json; charset=utf-8",
headers : TokenHeader(),
但是现在我想发送相同的数据以供在swift中开发的IOS应用程序使用。我不是IOS移动开发人员,当我调查他们如何进行其余调用时,我发现这样的东西可以完成:
let todosEndpoint: String = "https://dataurl"
guard let todosURL = URL(string: todosEndpoint) else {
print("Error: cannot create URL")
return
}
var todosUrlRequest = URLRequest(url: todosURL)
todosUrlRequest.httpMethod = "GET"
let newTodo: [String: Any] = ["title": "My First todo", "completed": false, "userId": 1]
let jsonTodo: Data
do {
jsonTodo = try JSONSerialization.data(withJSONObject: newTodo, options: [])
todosUrlRequest.httpBody = jsonTodo
} catch {
print("Error: cannot create JSON from todo")
return
}
let session = URLSession.shared
let task = session.dataTask(with: todosUrlRequest) {
(data, response, error) in
guard error == nil else {
print("error calling POST on /todos/1")
print(error)
return
}
guard let responseData = data else {
print("Error: did not receive data")
return
}
所以现在我的问题就像在我的网络应用程序中调用ajax如何从移动应用程序端使用休息服务。是否感谢任何帮助?
答案 0 :(得分:1)
我建议你使用这样的标题
let request = NSMutableURLRequest(url: NSURL(string: urlString)! as URL)
request.addValue("application/json",forHTTPHeaderField: "Content-Type")
request.addValue("application/json",forHTTPHeaderField: "Accept")
request.cachePolicy = .reloadIgnoringLocalCacheData
答案 1 :(得分:0)
你想要的东西(取决于你需要发送的标题值):
todosUrlRequest.setValue("token value", forHTTPHeaderField: "Authorization")