iOS 模拟请求 (本地数据调试)

简介

  • 在iOS 的日常开发中经常会遇到一下情况:APP代码已编写完成,但后台的接口还无法使用,这时 APP开发就可能陷入停滞。此时iOS 模拟请求就派上用场了,使用模拟请求来调试代码,如果调试都通过了,等后台接口可用时,基本只需调通即可完成几乎所有APP开发工作,这样APP开发人员的开发不会浪费时间,开发节奏和质量都得到保证
  • 本文章使用青花瓷(charles)为读者介绍模拟调试的正确姿势,如果没有安装,请百度之
  • 参考文章
    • 使用Mac自带的apache制作测试假数据
    • 使用青花瓷的Map local功能方式请求假数据

模拟请求的几种方式及优缺点

  • 直接在代码中解析本地json文件模拟请求:该方式优点是实现简单,缺点是污染代码,并且无法修改请求内容
  • 使用青花瓷的Map local功能模拟请求:该方式优点是配合青花瓷使用时非常简单,并且不会污染代码,缺点是只能请求文件,不能对请求本身做修改,只能修改返回的文件
  • 使用青花瓷的Map remote功能模拟请求:该方式优点是配合青花瓷使用也很简单,并且不会污染代码,而且可以修改请求内容和请求返回的文件,是最完整的模拟调试方式,缺点是相对于上面两种方式使用稍微复杂一点

模拟请求详细介绍

  • 直接在代码中解析本地json文件模拟请求

  1. 这里最重要的是下面的代码,通过下面的代码就可以获得正确的json数据,然后可以使用json转model的方式获得model,这里读者可能会对路径产生疑问,下面有一个示例可以参考
  • 路径示例: /Users/SteveJobs/Desktop/order.json
+ (NSDictionary *)getTestDataWithFilePath:(NSString *)filePath {NSData *data = [NSData dataWithContentsOfFile:filePath];if (!data) {data = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:filePath ofType:nil]];}if (data.length == 0) {NSLog(@"ERROR: 文件读取为空!路径或文件有问题!");return nil;}NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];return dic;
} 
  • 使用青花瓷的Map local功能模拟请求

  1. 首先准备好一个本地的json文件,类似👇

json文件示例

  1. 然后打开青花瓷按照图中箭头选择对应的选项:

打开Map Local

  1. 按照下面的介绍进行相关设置:
  • Enable Map Local:打开Map Local功能
  • Add:增加一个接口转发
  • Protocol:选择请求协议类型(http或者https)
  • Host:host地址
  • Port:端口号
  • Path:除host部分的具体URL
  • Query:需要匹配类似路径的可以使用特殊字符来匹配(比如*等,这个类似正则)
  • Local path:本地json文件路径,可以直接选择
  • OK: 👌你现在可以使用Map Local进行假数据测试了

设置Map Local

  1. 关闭打开的快捷方式

关闭打开的快捷方式

  • 使用青花瓷的Map remote功能模拟请求

  1. 该功能与Map Local的区别:Map Local是将请求修改成直接返回一个json文件,Map remote是转发请求变成另一个请求

  2. 同样第一步是将json文件放到转发后的请求请求到的位置,这个下面有介绍(第6步),可以先略过这一步

  3. 下面的设置与Map remote的类似,首先是打开Map remote功能

设置Map remote

  1. 设置Map remote:
  • Enable Map Remote:打开Map remote
  • Add:增加一个转发
  • 填写Map From(请求地址信息)
    • 选择Map From的Protocal
    • 填写Map From的Host
    • 填写Map From的Port
    • 填写Map From的Path
    • 填写Map From的Query
  • 根据Map From填写Map To(转发地址信息)
  • OK:👌即可使用了

打开Map remote

  1. 关闭打开的快捷方式

关闭打开的快捷方式

  1. 转发请求的地址,目前有两种方案:
  • 使用Mac自带的apache服务器来实现转发请求

    • Mac自带Apache服务器的地址:http://localhost/
    • Mac自带的Apache服务器地址指向的文件夹(json文件存放的位置):/Library/WebServer/Documents
    • Mac自带的Apache服务器使用的几个命令
      开启:$ sudo /usr/sbin/apachectl start
      重启:$ sudo /usr/sbin/apachectl restart 
      关闭:$ sudo /usr/sbin/apachectl stop
      
  • 使用其他服务器来实现

    • 请百度之

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/315170.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

迁移学习基础知识

简介 使用迁移学习的优势: 1、能够快速的训练出一个理想的结果 2、当数据集较小时也能训练出理想的效果。 注意:在使用别人预训练的参数模型时,要注意别人的预处理方式。 原理: 对于浅层的网络结构,他们学习到的…

matplotlib绘图

matplotlib版本:3.7.5 numpy版本:1.24.3 pandas版本:2.0.3 导包构造数据 import matplotlib.pyplot as plt import numpy as np import pandas as pd# %matplotlib inlinea np.linspace(0, 2 * np.pi, 100) asin np.sin(a) acos np.cos(…

c++理论篇(一) ——浅谈tcp缓存与tcp的分包与粘包

介绍 在网络通讯中,Linux系统为每一个socket创建了接收缓冲区与发送缓冲区,对于TCP协议来说,这两个缓冲区是必须的.应用程序在调用send/recv函数时,Linux内核会把数据从应用进程拷贝到socket的发送缓冲区中,应用程序在调用recv/read函数时,内核把接收缓冲区中的数据拷贝到应用…

Bert语言大模型基础

一、Bert整体模型架构 基础架构是transformer的encoder部分,bert使用多个encoder堆叠在一起。 主要分为三个部分:1、输入部分 2、注意力机制 3、前馈神经网络 bertbase使用12层encoder堆叠在一起,6个encoder堆叠在一起组成编码端&#xf…

CSS——前端笔记

CSS 1、选择器1.1、基础选择器1.2、复合选择器1.2.4、伪类选择器 1.3、属性选择器1.4、结构伪类选择器1.5、伪元素选择器 2、CSS的元素显示模式2.1、块元素2.2、行内元素2.3、行内块元素2.4、元素显示模式转换 3、字体属性3.1、font-family 字体3.2、font-size 字体大小3.3、fo…

vue echarts 柱状图 堆叠柱状图

echarts堆叠柱状图&#xff08;效果图在文章末尾&#xff09; 1、默认只显示 月度的 数据&#xff0c;手动点击 legend 季度的 数据才会显示&#xff1b; 2、监听左侧菜单栏的宽度变化&#xff0c;图表宽度自适应展示 <template><div><div id"barChart&q…

Java学习1:java入门

java入门 1.介绍Java java——sun公司——被甲骨文收购 一开始叫Oak&#xff0c;后期改名为java; java之父詹姆斯高斯林 企业级应用开发 JavaSE JavaEE JavaME 高级编程语言 2.搭建开发环境 JDK8&#xff0c;JDK11&#xff0c;JDK17————>LTS长期支持版 ps:在…

【Linux】基础指令

文章目录 基础指令1. pwd 指令2. cd 指令3. ls 指令4. touch 指令5. mkdir 指令6. rmdir 和 rm 指令7. man 指令8. cp 指令9. mv 指令10. cat 指令11. more 和 less 指令12. head 和 tail 指令13. date 指令14. cal 指令15. find 指令16. grep 指令18. zip 和 unzip 指令19. ta…

IPv4 NAT(含Cisco配置)

IPv4 NAT&#xff08;含Cisco配置&#xff09; IPv4私有空间地址 类RFC 1918 内部地址范围前缀A10.0.0.0 - 10.255.255.25510.0.0.0/8B172.16.0.0 - 172.31.255.255172.16.0.0/12C192.168.0.0 - 192.168.255.255192.168.0.0/16 这些私有地址可在企业或站点内使用&#xff0c…

jupyter notebook设置代码自动补全

jupyter notebook设置代码自动补全 Anaconda Prompt窗口执行 pip install jupyter_contrib_nbextensionsjupyter contrib nbextensions install --userpip install jupyter_nbextensions_configuratorjupyter nbextensions_configurator enable --user按如下图片设置 卸载jed…

创建Vue3项目遇到的问题 - TypeError: (0 , import_node_util.parseArgs) is not a function

印象中想要创建vue3项目&#xff0c;需要安装16.0或更高版本的Node.js&#xff0c;于是第一步检查现在所用node版本。 显示 v16.20.0。前置条件符合&#xff0c;开始愉快的创建项目。npm init vuelatest&#xff0c;报错了。 查了一下&#xff0c;发现官网已经改成了需要18.3或…

AI赋能分层模式,解构未来,智领风潮

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 &#x1f680; 转载自热榜文章&#x1f525;&#xff1a;探索设计模式的魅力&#xff1a;AI赋能分…

Elasticsearch集群部署(Linux)

1. 准备环境 这里准备三台Linux虚拟机&#xff0c;用于配置Elasticsearch集群和部署可视化工具Kibana。 角色IP域名集群名称节点名称版本操作系统ES192.168.243.100linux100cluster-eses-node-1007.12.0CentOS 7192.168.243.101linux101cluster-eses-node-101192.168.243.102…

决策树模型示例

通过5个条件判定一件事情是否会发生&#xff0c;5个条件对这件事情是否发生的影响力不同&#xff0c;计算每个条件对这件事情发生的影响力多大&#xff0c;写一个决策树模型pytorch程序,最后打印5个条件分别的影响力。 一 决策树模型是一种非参数监督学习方法&#xff0c;主要…

数据结构习题--旋转链表

数据结构习题–旋转链表 给你一个链表的头节点 head &#xff0c;旋转链表&#xff0c;将链表每个节点向右移动 k 个位置。注意这里的k可能超过链表的长度 方法&#xff1a;双指针 分析 旋转K次&#xff0c;我们其实就是相当于找到倒数第K个结点&#xff0c;让其成为头结点…

ArcGIS无法开始编辑TIN!开始编辑TIN显示灰色

ArcGIS无法开始编辑TIN&#xff01;开始编辑TIN显示灰色&#xff1f; 解决方案&#xff01; 1、确认自定义——扩展模块中空间分析、3D分析模块勾选。 2、确认以上后&#xff0c;还是不能编辑的话&#xff0c;我们可以调出 3D分析分析工具条&#xff0c;你就会发现。TIN编辑工…

ANSYS WorkBench基础说明

1引入CAE产品设计流程 2有限元法简介 有限元法的基本概念:把一个原来是连续的物体划分为有限个单元&#xff0c;这些单元通过有限个节点相互连接&#xff0c;承受与实际载荷等效的节点载荷&#xff0c;根据力的平衡条件进行分析&#xff0c;并根据变形协调条件把这些单元重新组…

hbase 集成 phoenix 实现 sql 化

1. 依赖 hbase > hbase 集群搭建 2. 下载安装包 点击下载 ps&#xff1a;该网页在内网可能打不开&#xff0c;遇到该情况有条件的可以打开 VPN 在下载 3. 上传解压 使用工具将安装包上传的服务器上 笔者这里选择 上传到 /opt/software 目录&#xff0c;解压到 /opt/mo…

适用于Windows和Mac的十大误删除数据恢复软件

数据恢复是从辅助存储或可移动文件中找回丢失、删除或损坏的数据的过程。数据丢失的原因有很多。因此&#xff0c;有必要恢复已删除的数据。有各种可用的软件工具&#xff0c;使用户能够恢复任何类型的已删除数据。但是&#xff0c;任何数据恢复都有四个主要阶段。他们正在修复…

FastGPT编译前端界面,并将前端界面映射到Docker容器中

建议在linux系统下编译 1、克隆代码 git clone https://github.com/labring/FastGPT 2、进入FastGPT目录&#xff0c;执行 npm install 3、进入projects/app目录&#xff0c;执行 npm run dev 此时会自动下载依赖包&#xff0c;这里如果执行npm install的话&#xff0c;…