我快速从一个看起来像这样的URL中获取响应
http://api.remix.bestbuy.com/v1/categories%28id%3Dpcmcat312300050015%29?apiKey=gj4x2wbttmj3t4tj2ca4dkgu

基本网址到v1
在基本网址中,我需要附加类别或产品或商店。
追加此内容后,我需要像这样发送类别ID(ID = cat00000)。
然后,必须附加问号和apikey。

我可以制作可能不正确的网址
var baseUrl:字符串=“http://api.remix.bestbuy.com/v1/categories
var categoryIdString:String = BestBuyConstants.topCategory
var apiString:String = BestBuyConstants.Key

    var urlString: String = "\(baseUrl)" + "\(categoryIdString)"
    println("urlString: \(urlString)")

    let parameterString:String = "gj4x2wbttmj3t4tj2ca4dkgu"
    var url: String = "\(urlString)?apiKey=\(parameterString)"

    var finalURL: NSURL = NSURL(string:url)!
    let request = NSMutableURLRequest(URL: finalURL)

但是当我追加类别时,出现致命错误
请提出我做错的地方以及一些技术文档。

最佳答案

您尚未添加URL的方括号()可用:

var baseUrl: String = "http://api.remix.bestbuy.com/v1/categories"
var categoryIdString:String =  "Dpcmcat312300050015"

var urlString: String = "\(baseUrl)" + "(id%3\(categoryIdString))"
println("urlString: \(urlString)")

let parameterString:String = "gj4x2wbttmj3t4tj2ca4dkgu"
var url: String = "\(urlString)?apiKey=\(parameterString)"

println(url)

var finalURL: NSURL = NSURL(string:url)!
let request = NSMutableURLRequest(URL: finalURL)

我已经更改为"(id%3\(categoryIdString))"

http://api.remix.bestbuy.com/v1/categories%28id%3Dpcmcat312300050015%29?apiKey=gj4x2wbttmj3t4tj2ca4dkgu

因为如果您在浏览器中运行它,请检查此链接,您将找到(%3)
有关HTML的其他编码,请参见此链接:https://grox.net/utils/encoding.html

希望它为您工作。

09-07 19:28