蓝旭第六周预习

JSON数据类型介绍

js的子集,完全独立于编程语言的文本格式来存储和表示数据。在js语言中,一切都是对象,因此任何支持的类型都可以通过json来表示。

数据类型:

string :"hello"

number:1 2.5 2e-7 -5

boolean:true false

Null:null

Array:[1,true,2.5]

object:{"key":"value"}注,键必须字符串,键和值之间:隔开,不同键值对用逗号隔开,最后一个键值对后边不能加逗号。值可以是任意类型。

{
    "key1":"value",
    "key2":-123.6,
    "key3":{
        "name":"温泉",
        "QQ":3288855555
    }
    "key4":[1,2,3,4,5],
    "key5":["a","b","c","d"],
    "key5":[
    {
        "name":"a",
        "age":18
    },
    {
        "name":"b",
        "age":18
    },
    {
        "name":"c",
        "age":18
    },
    {
        "name":"d",
        "age":18
    }],
    "key7":null
}

访问内容
key3.name
key4[2]下标也是从0开始
key6[0].name
{
    "qq":3333388888,
    "ID":66666,
    "msg":"哈哈哈哈\n \r \r\n哈哈\"a\"哈哈哈哈"
}

msg解析出来的是:
哈哈哈哈


哈哈"a"哈哈哈哈(转义)

网络请求介绍(POST、GET等)

URLRequest

1、URL:资料位置,可以放http开头网址,ftp、使用者的档案位置

2、Request:你想要做的事情&用什么方法

var timeoutInterval:TimeInterval
    
var cachePolicy:URLRequest.CachePolicy
    
var httpShouldHandleCookies:Bool

cache:就是指暂存资料,把自己取得过的网页资料暂时存在某个地方,方便下次快速使用。是用空间换取时间节省流量的方法。

cookies:有些网站会记录你的浏览行为,这些东西就是用这些属性来改变。

HTTP Request Method

处理网络上的资料交流。

标准规范中有八种解决方法,比较常见的是前四种:

·GET:读取。浏览网页,获取数据(也可以提交,但不常用)

·POST:建立。新增资料或进行验证,提交数据

·PUT:修改

·DELETE:删除

·OPTIONS、HEAD、TRACE、CONNECT


GET vs POST

GET和POST都可以提供资料,但是GET是放在网址也就是header里面,POST是放在body里。

所以GET可以放的类型和资料大小有限。

get请求回退或者刷新服务器没有影响,post请求回退会重新提交数据请求。

get请求可以被缓存,但是post请求不会被缓存。

get请求会被保存在浏览器历史记录中,post不会。get请求还可以被收藏为书签,因为它参数就在url中,且安全性差,post不可以,其参数在body里。

get只支持url编码,post支持多种。

http://t.csdnimg.cn/jQLgK

http://t.csdnimg.cn/bQBNw

前后端api规范

API

api的全称:应用程序编程接口,是一组定义软件组件之间交互的规范,允许不同软件系统之间进行通信。使用者可以不必了解内部实现,直接拿来用就可。

就比如,开发一个应用程序,其中要获取时间信息,可以直接使用提供商的api而不必了解如何实现,这样这个程序就可以利用外部服务,准确的将时间信息提供给使用者。

API是什么?怎么理解API

常见规范

1、从安全性的角度考虑,我们尽量使用post作为接口请求方式,前边也提到,get参数存放在url中,不安全。

2、幂等性

幂等性是指任意多次请求的执行结果和一次请求的执行结果所产生的影响相同。说的直白一点就是查询操作无论查询多少次都不会影响数据本身,因此查询操作本身就是幂等的。但是新增操作,每执行一次数据库就会发生变化,所以它是非幂等的。

幂等问题的解决有很多思路,这里讲一种比较严谨的。提供一个生成随机数的接口,随机数全局唯一。调用接口的时候带入随机数。第一次调用,业务处理成功后,将随机数作为key,操作结果作为value,存入redis,同时设置过期时长。第二次调用,查询redis,如果key存在,则证明是重复提交,直接返回错误。

3、接口地址:每个api都应有唯一的url。

  • 18
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值