Alamofire 与 -d

2023-11-23

我需要像邮递员那样提出请求,但是在阿拉莫菲尔

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 is a 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

要修复它,请使用encoding (ParameterEncoding) init. 中的参数默认使用即可JSONEncoding, URLEncoding and 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"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Alamofire 与 -d 的相关文章

  • 弱变量中间为零

    弱变量什么时候变为零 weak var backgroundNode SKSpriteNode texture SKTexture image initialBackgroundImage backgroundNode position C
  • Swift 包管理器:“多个目标名为...”

    我正在尝试构建一个服务器端 Swift Web 应用程序 我的应用程序的基础框架将是Kitura https www kitura io来自IBM 此外 我还想利用AWS SDK Swift https github com noppoMa
  • 仅在 iPhone X 上显示状态栏

    如果不是 iPhone X 则希望隐藏状态栏 如果是 iPhone X 则希望显示状态栏 这很可能必须以编程方式完成 因为 plist 中没有支持此功能的键 我发现的最接近的一个是UIStatusBarHidden 方法一 You have
  • 使用prepareForSegue传递数据

    我试图将数据从viewController 1传递到viewController2 我有2个按钮和1个segue 因此有一个segue标识符 这2个按钮 按下时每个按钮应显示 1个标签用于显示标题 1个textView用于显示定义 我很难显
  • let/var 如何解决可变性? [复制]

    这个问题在这里已经有答案了 我没有任何问题 我只是想对有关可变性的问题进行一些澄清 在 Objective C 中我们会使用例如NSMutableArray得到一个可变数组和NSArray得到一个不可变的 我对两者的内部运作了解不多 但据我
  • iOS WKWebView 处理文件下载

    我面临以下问题 在 Web 界面中 文件下载是通过锚标记触发的 如下所示 a href bla blabla a 虽然 Safari 浏览器可以处理此请求并打开一个对话框来处理文件 但 WKWebView 将此视为普通链接并且不对其执行任何
  • 保存来自 TrueDepth 相机的深度图像

    我正在尝试保存 iPhone X TrueDepth 相机的深度图像 使用AVCam照片滤镜 https developer apple com library content samplecode AVCamPhotoFilter Lis
  • 在 UITableViewController 中重新排序行后 UI 更新不正确

    因此 我对表中的行重新排序 用户界面最终结果不正确 场景如下 表内容原文 a b c d e 如果我移动第 0 行 当前a 到第 4 行 当前e 我看到的最终结果是 c d e a a 一些背景 该表正在读取 Realm 对象的列表 我确认
  • 如何使用 Swift 将“完成”按钮添加到 iOS 中的数字键盘?

    它在默认键盘上工作得很好 但我无法让它在数字键盘上工作 有任何想法吗 据我所知 你不能在键盘部分添加 完成 按钮 你应该添加一个inputAccessoryView to the UITextField or UITextView 如果这就
  • 从 Amazon S3 存储桶下载文件的脚本

    尝试编写脚本以从 Amazon S3 存储桶下载文件 cURL 网站上的示例遇到问题 下面的脚本产生 我们计算的请求签名与您的签名不匹配 假如 检查您的密钥和签名方法 感谢任何帮助 bin sh file filename php buck
  • 如何将CIFilter应用到UIView上?

    根据Apple docs 过滤属性CALayer不支持iOS 当我使用正在申请的应用程序之一时CIFilter to UIView即 Splice Funimate 和 Artisto 的视频编辑器 Videoshow FX 这意味着我们可
  • 使用 BGTaskScheduler 进行后台获取与调试模拟完美配合,但在实践中却不起作用

    我在 appDelegate 的 didFinishLaunchingWithOptions 中注册后台获取任务 BGTaskScheduler shared register forTaskWithIdentifier Backgroun
  • 使用 Spring 的 REST 多部分混合请求(文件+json)

    我需要将一个文件和一个 json 一起发送到我的 Spring 控制器 我有以下控制器类 Controller RequestMapping perform public class PerformController RequestMap
  • 如何将自定义 C 代码放入 SwiftPM 包中?

    我正在尝试将 C 代码打包到 Swift 模块中 我们称之为CModule 一旦我将其放入项目的基本文件夹中 Swift模块 并配置了搜索路径 我可以在 Swift 文件中自动完成工作 并检测错误 警告 问题是 导入时它无法识别该模块 并且
  • 重复使用相同的卷曲手柄。性能大幅提升?

    在 PHP 脚本中 我对不同的 URL 执行了许多不同的curl GET 请求 一百个 将重复使用来自curl init提高性能 还是与请求的响应时间相比可以忽略不计 我这么问是因为在当前的架构中保持相同的句柄并不容易 交叉发布自我应该关闭
  • 删除派生数据文件夹后,Xcode 不断重新创建派生数据文件夹

    自动完成功能在 Xcode 6 中不再起作用 我四处搜索 发现删除派生数据文件夹可以解决此问题 每次我删除它时 它都会回来 然后就不会再自动完成了 有什么建议么 Thanks 没关系 我解决了这个问题 我没有声明需要在类内的方法中使用的变量
  • 如何右对齐 UILabel?

    Remark 实施 myLabel textAlignment right does not解决了我的问题 这不是我所要求的 我想要实现的是让标签对齐右对齐 为了更清楚地说明 这就是如何left对齐外观 就是这样justify对齐外观 if
  • 调用 SwiftUI 中位置 #11、#12 处的额外参数 [重复]

    这个问题在这里已经有答案了 我在 SwiftUI 中的切换开关上不断收到 调用中位置 11 12 处有额外参数 错误 我见过其他人有 调用中的额外参数 错误 但答案似乎没有帮助 另外 我的错误是 位置 11 12 我还没有看到其他人发生这种
  • Xcode 10 Beta 5 — clang:错误:链接器命令失败,退出代码为 1

    有人可以帮我吗 我的项目一切正常 但更新到 Xcode10 Beta5 后 尝试在 iPhone 上运行该应用程序时出现此错误 然而模拟器可以工作 请帮助我 我已经对这个问题进行了网络搜索并发现this https stackoverflo
  • ios - Gamekit 的 GKOctree 未找到元素

    我正在尝试使用GKOctree https developer apple com documentation gameplaykit gkoctree用于高效检索 3D 空间中的对象 然而 以下代码似乎没有按预期工作 import Gam

随机推荐

  • 使用 javascript 复制到剪贴板以获取phonegap

    我正在为phonegap 平台使用javascript mobile jquery 接口开发一个应用程序 现在我在网上看到了很多尝试复制到剪贴板的例子 不幸的是它们都不适合我 我对浏览器中的功能不感兴趣 只要它在通过电话间隙转换后能够工作
  • 尝试使用网络摄像头 python opencv 捕获视频时 gstreamer 出现严重错误

    我正在尝试使用 opencv 和 python 通过简单的代码通过网络摄像头拍摄视频 import numpy as np import cv2 cap cv2 VideoCapture 0 print cap isOpened if ca
  • 在 React-Chartjs-2 框的圆环图中添加文本以做出反应

    我创建了一个圆环图 它可以正常工作 但现在我需要在其中心显示数字 45 例如 我应该在哪里指定要显示的文本和坐标 在图表的选项中 我正在使用反应组件 class DoughnutChart extends React Component r
  • OS X 卸载已安装的 distutils 项目

    我在 El Capitan 上 我想用 pip 安装 numpy 但是我收到以下错误 Detected a distutils installed project numpy which we cannot uninstall The me
  • 如何将 :since 与 CompUnit 一起使用

    我试图通过使用 CompUnit 类集预编译 POD6 来创建 POD6 缓存 我可以创建 存储和检索 pod 如下所示 use v6 c use nqp my precomp store CompUnit PrecompilationSt
  • wpf listview拖动选择多个项目

    只是想知道是否有人知道如何做到这一点 我想让用户通过单击并拖动鼠标来选择多个项目 不松开单击 假设用户单击第 1 项 然后向下拖动到第 10 项 项目 1 到 10 应该被选中 就像他单击项目 1 然后按住 Shift 键并单击项目 10
  • 如何快速更改颜色字典中图像中的像素?

    我有一个图像 我想从颜色图中更改图像中的所有颜色 例如 10 20 212 60 40 112 目前 我正在读取图像 OpenCV 然后迭代图像数组并更改每个像素 但这非常慢 有什么办法可以让我做得更快吗 我对这个问题提供两个答案 这个答案
  • PHP获取真实IP(代理检测)

    我确实可以跟踪用户的 真实 IP 如果他有一个发送真实 IP 标头的代理 是否有更好的解决方案 甚至更多标头 由于这个函数在脚本中经常使用 所以它必须非常快 而且它似乎不在那个星座中 我提出了一些建议 但无法实现 将标头按最 野外 使用的顺
  • Python re:在变量中存储多个匹配项

    我想匹配字符串的不同部分并将它们存储在单独的变量中以供以后使用 例如 string bunch oranges bananas apples rxp a z var1 var2 var3 这样我就有了 var1 oranges var2 b
  • Ruby:时间的平均数组

    我的方法中有以下方法Array class class Array def avg if partial include avg times else blank and 0 0 or sum to f size round 2 end e
  • MS 身份和访问工具 MVC 4

    这个 VS 2012 扩展旨在允许我将本地开发 STS 添加到我的 MVC 应用程序中http visualstudiogallery msdn microsoft com e21bf653 dfe1 4d81 b3d3 795cb1040
  • MongoDB - 使用 C# 驱动程序按日期和时间搜索

    您好 我想使用 MongoDB 的 C 驱动程序查找两个日期 带时间 之间的条目 但我使用的 Find Filter 方法会忽略时间并仅按日期搜索 我认为 我究竟做错了什么 My POCO public class TestClassFor
  • 使用 Gradle 运行 Karma?

    我有 Jasmine 单元测试 我想运行它并获取伊斯坦布尔代码覆盖率报告 我可以运行命令行脚本来在 Jenkins 中运行 Karma 但最好使用我的 build gradle 执行所有内容 是否可以使用 Gradle 运行 Karma 我
  • “异步”是否在单独的线程中运行? [复制]

    这个问题在这里已经有答案了 当我调用 foo 时 该方法是否在单独的线程上运行 public async Task
  • C# 中两个问号在一起意味着什么?

    遇到了这行代码 FormsAuth formsAuth new FormsAuthenticationWrapper 这两个问号是什么意思 是某种三元运算符吗 在谷歌上很难查到 它是空合并运算符 非常类似于三元 立即 if 运算符 也可以看
  • var myArray =[], 名称;?

    下面的语句中 name 有什么作用 var myArray name 我通常按 如下方式初始化数组 var myArray 它是简写 var myArray var name 这是关于个人喜好
  • 在树枝中循环并在三次迭代后中断

    我有以下树枝代码 for likeditem in user getItemLikes iterate over each liked items here endfor 但是我只想迭代前 3 项user getItemLikes 我该怎么
  • 与界面交互?

    从我读到的内容看来 人们可以与界面进行交互 例如 假设我有一个带有空方法 eat 的接口 然后有2个子类正在实现这个接口 我的控制器可以仅与界面交互并使用它的 eat 方法吗 看看这个链接中的图片strategy 除了访问其中定义的任何常量
  • 使用 Python 和 Numpy 创建原始图像的图像图块 (m*n)

    我正在使用 numpy 从 16 位 tiff 图像 13777 16004 创建 224 224 的图块 我能够沿着行和列裁剪 切片成 224 224 的相等图块 我在尝试创建新的图块时遇到了问题 移动图块大小的一半 例如 我想要实现的粗
  • Alamofire 与 -d

    我需要像邮递员那样提出请求 但是在阿拉莫菲尔 curl X DELETE http someUrl H authorization JWT someToken H cache control no cache H content type