我需要像邮递员一样提出要求,但在Alamofire中
curl -X DELETE \
http://someUrl \
-H 'authorization: JWT someToken' \
-H 'cache-control: no-cache' \
-H 'content-type: application/x-www-form-urlencoded' \
-H 'postman-token: 0149ef1e-5d45-34ce-3344-4b658f01bd64' \
-d id=someId
我想应该是这样的:
let headers = ["Content-Type": "application/x-www-form-urlencoded", "Authorization": "JWT someToken"]
let params: [String: Any] = ["id": "someId"]
Alamofire.request("http://someUrl", method: .delete, parameters: params, headers: headers).validate().responseJSON { responseJSON in
switch responseJSON.result {
case .success( _):
let data = responseJSON.result.value!
print(data)
case .failure(let error):
print(error.localizedDescription)
}
}
我该如何检查我的请求是否具有以下选项cUrl
--d id=someId
你做这个:
Alamofire.request("http://someUrl", method: .delete, parameters: params, headers: headers).validate().responseJSON { ... }
实际上,它可以像这样被解构:
let request = Alamofire.request("http://someUrl", method: .delete, parameters: params, headers: headers)
request.validate().responseJSON { ... }
request
是一个DataRequest
,它继承自Request
其中,具有debugDescription
对该调用的相当大的覆盖curlRepresentation()
。
如果打印request
,则将具有:
$> CredStore - performQuery - Error copying matching creds. Error=-25300, query={
atyp = http;
class = inet;
"m_Limit" = "m_LimitAll";
ptcl = http;
"r_Attributes" = 1;
sdmn = someUrl;
srvr = someUrl;
sync = syna;
}
$ curl -v \
-X DELETE \
-H "Accept-Encoding: gzip;q=1.0, compress;q=0.5" \
-H "User-Agent: iOSTest/1.0 (nt.iOSTest; build:1; iOS 11.4.0) Alamofire/4.7.3" \
-H "Accept-Language: en;q=1.0, fr-FR;q=0.9" \
"http://someUrl?id=someId"
很酷吧?但是别无选择-d
。您甚至可以使用进行检查print(request.request.httpBody)
并获得:
$> nil
要修复它,请在init中使用encoding
(ParameterEncoding
)参数。您可以通过默认情况下使用JSONEncoding
,URLEncoding
和PropertyListEncoding
。
但您要将参数放在中httpBody
,因此请使用URLEncoding(destination: .httpBody)
:
Alamofire.request("http://someUrl", method: .delete, parameters: params, encoding: URLEncoding(destination: .httpBody), headers: headers)
然后您将获得:
$>CredStore - performQuery - Error copying matching creds. Error=-25300, query={
atyp = http;
class = inet;
"m_Limit" = "m_LimitAll";
ptcl = http;
"r_Attributes" = 1;
sdmn = someUrl;
srvr = someUrl;
sync = syna;
}
$ curl -v \
-X DELETE \
-H "Authorization: JWT someToken" \
-H "User-Agent: iOSTest/1.0 (nt.iOSTest; build:1; iOS 11.4.0) Alamofire/4.7.3" \
-H "Accept-Language: en;q=1.0, fr-FR;q=0.9" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept-Encoding: gzip;q=1.0, compress;q=0.5" \
-d "id=someId" \
"http://someUrl"
问题内容: 我正在学习Go,并且一直沉迷于Go旅游(exercise- stringer.go:https : //tour.golang.org/methods/7)。 这是一些代码: 所以我想出了is 的内部表示,所以散布算子起作用了。但我得到: 有没有搞错?字符串切片也不起作用,这是怎么回事? 编辑 :对不起,我的问题中有一个错误- 错误是关于type的,不是。我在玩代码,并且粘贴了错误的输
描述 (Description) 字符类\D匹配任何非数字。 例子 (Example) 以下示例显示了预定义字符类匹配的用法。 package com.wenjiangs; import java.util.regex.Matcher; import java.util.regex.Pattern; public class PredefinedCharacterClassDemo { pr
描述 (Description) 字符类\d匹配0到9之间的任何数字。 例子 (Example) 以下示例显示了预定义字符类匹配的用法。 package com.wenjiangs; import java.util.regex.Matcher; import java.util.regex.Pattern; public class PredefinedCharacterClassDemo {
本文向大家介绍\ d与\ D在JavaScript中?,包括了\ d与\ D在JavaScript中?的使用技巧和注意事项,需要的朋友参考一下 \ d与\ D \ d和\ D之间有很多区别,其中前者导致数字,而后者导致非数字,例如e,^等。它们与全局对象“ g ”一起使用,因此所有文本中的数字和非数字将显示在输出中。让我们详细讨论它。 语法1 语法2 示例1 在以下示例中,将' \ d '与全局对
指向D类的指针与指向结构的指针完全相同,并且访问指向使用成员访问运算符 - >运算符的类的指针的成员,就像使用指向结构的指针一样。 与所有指针一样,您必须在使用之前初始化指针。 让我们尝试以下示例来理解指向类的指针的概念 - import std.stdio; class Box { public: // Constructor definition this(
所以我所有的D 我当前拥有的命令是 第一个问题是,它使用了格式“|d 20”而不是“|d20”,因此第一个请求是删除“d”和int之间的空格,该空格表示骰子的边数(本例中为“die”变量,“20”)。 除此之外,我想添加一个功能,如果键入“|[骰子数]d[边数]”,它会将请求的骰子滚动请求的次数。如果没有指定骰子数(例如:“|d20”),它应该自动假设骰子数为1。机器人消息应该包括所有滚动的数字及