将Postman GET curl转换为swift url会话请求

问题描述

我无法迅速将以下curl转换为url请求。

curl --location --request GET 'https://p52.pocket52.com/apis/v1?p={%22x%22:%22images%22,%22pl%22:{}}'

我尝试过以下方法,但在展开可选值错误时意外发现nil

var request = URLRequest(url: URL(string: "https://p52.pocket52.com/apis/v1?p={%22x%22:%22images%22,%22pl%22:{}}")!,timeoutInterval: Double.infinity)
    request.httpMethod = "GET"

我尝试使用此链接Converting curl to URL request in Swift中的解决方

但这是POST卷曲,不适用于GET卷曲,因为GET请求不应包含正文。

让我更清楚地定义它,基本上,我需要对以下GET请求进行框架。

https://p52.xxxx.com/apis/v1?p={"x":"images","pl":""}

我们可以通过为URLComponent部件附加一个快速字典来实现它,但是,听说我有一个嵌套字典,这正是我面临的困难。

解决方法

您可以按照@Turo的建议遵循this answer,并使用A构建URL,如下所示:

URLComponents

然后使用var components = URLComponents(string: "https://p52.pocket52.com/apis/v1") components?.queryItems = [ URLQueryItem(name: "p",value: #"{"x": "images","pl" : ""}"#) ] 的{​​{1}}属性组成您的url

URLComponents