【未完待续】API接口
1.json传输
2.安全:权限 http://blog.csdn.net/linlzk/article/details/50748580。
比如:调用端有userId、psw、version、timestamp的公共请求参数,调用端据加密算法生成token才去请求服务端。服务端再次计算token,比较调用端与服务端的token是否一致,一致则ok,不同则返回token失败、非法调用。 另外服务端还可以对psw进行定期更新、回调调用端通知新psw。
3.服务端框架、客户端调用示例,restful风格
4.aop\拦截器(特性Attribute):log、权限验证
5.前后端彻底分离的思考,使用jq ui组件通过json交互,而不只是.net mvc(仍然依赖.net mvc技术)。参考组件:bootstrape、giigo、等等,具体可谷歌之。
6.我们现在做api接口,虽然用newjson序列化、但为了保证调用方的兼容性(可能是前端js-jquery调用、也可能是后端java-php调取)、建议只返回int、string这种简单类型、甚至只返回string类型(绝不要用用list、datetime等,因为兼容性问题)。其他char、decimal、也不建议使用。
7.对于简单参数的“获取型”接口则使用HttpGet方法:给定url,传入account参数和其他需要的参数即可;返回json类型字符串。
8.对于复杂参数的“获取型”接口(参数数量很多,达到8-10个以上;或者参数值很长可能超过256)、或者“操作型”接口(主要就是增删改),则使用HttpPost方法:给定url,传入account参数;其余参数以post json字符串形式传入。
9.注意参数中含有特殊字符的情况,需要对每个参数进行url编码。注意:是对每个参数(a=111)分别进行url编码(c# 用HttpUtility.UrlDecode)、而不是整个参数字符串(a=111&b=222&c=333)。接受参数时无需解码,若实在需要则使用Uri.EscapeDataString(str);
【未完待续】API接口的更多相关文章
- MVC丶       (未完待续······)
		希望你看了此小随 可以实现自己的MVC框架 也祝所有的程序员身体健康一切安好 ... 
- [python]爬代理ip v2.0(未完待续)
		爬代理ip 所有的代码都放到了我的github上面, HTTP代理常识 HTTP代理按匿名度可分为透明代理.匿名代理和高度匿名代理. 特别感谢:勤奋的小孩 在评论中指出我文章中的错误. REMOTE_ ... 
- Go web编程学习笔记——未完待续
		1. 1).GOPATH设置 先设置自己的GOPATH,可以在本机中运行$PATH进行查看: userdeMacBook-Pro:~ user$ $GOPATH -bash: /Users/user/ ... 
- Java开发中的23+2种设计模式学习个人笔记(未完待续)
		注:个人笔记 一.设计模式分三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模 ... 
- 从Socket入门到BIO,PIO,NIO,multiplexing,AIO(未完待续)
		Socket入门 最简单的Server端读取Client端内容的demo public class Server { public static void main(String [] args) t ... 
- 省钱版----查找 IoT 设备TTL线序__未完待续
		作者:仙果 原文来自:省钱版—-查找 IoT 设备TTL线序 省钱版----查找 IoT 设备TTL线序__未完待续 缘由 在IoT固件调试分析的过程中,建议首先在IoT设备的板子上焊接调试线,这是能 ... 
- odoo11 model+Recordset 基础未完待续
		Model 一个模型代表了一个业务对象 本质上是一个类,包含了同django flask一样的数据字段 所有定义在模型中的方法都可以被模型本身的直接调用 现在编程范式有所改变,不应该直接访问模型,而是 ... 
- Hibernate二级缓存(未完待续)
		1.Hibernate的cache介绍: Hibernate实现了良好的Cache机制,可以借助Hibernate内部的Cache迅速提高系统的数据读取性能.Hibernate中的Cache可分为两层 ... 
- Avro和Thrift区别(未完待续)
		两者都是优秀的序列化框架: Avro创造之初是Hadoop之父Doug为了创造一种更加快捷的序列化方案(此时已经有了thrift),用于Hadoop的HDFS的文件序列化问题. Thrift一个成熟的 ... 
- ASP.NET Core 2.2 基础知识(八) 主机 (未完待续)
		主机负责应用程序启动和生存期管理.共有两个主机 API : 1.Web 主机 : 适用于托管 Web 应用,基于 IWebHostBuilder ; 2.通用主机 : 适用于托管非 Web 应用. 基 ... 
随机推荐
- 每天一个linux命令(8):scp使用
			不同的Linux之间copy文件常用有3种方法:1.使用ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy.2.采用samba服 ... 
- IOS开发之Storyboard应用
			制作一个Tab类型的应用 制作一个表格视图 原型表格单元 设计自定义的原型单元格 为原型单元格设置子类 故事版(Storyboard)是一个能够节省你很多设计手机App界面时间的新特性,下面,为了简明 ... 
- Python 读取csv的某行
			站长用Python写了一个可以提取csv任一列的代码,欢迎使用.Github链接 csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格: 就可以存 ... 
- 模仿Semaphore自定义自己的 信号量
			简介 这里模仿Semaphore,自定义自己的信号量,利用AQS共享模式 1.MySemaphore.java package com.jacky; import java.util.concurre ... 
- Repeater数据控件的两个重要事件ItemDataBound 和 ItemCommand
			1 ItemDataBound:数据绑定的时候(正在进行时)发生. 2 ItemCommand :用来响应Item模板中的控件的事件. 如下代码 aspx代码: [html] view plain c ... 
- (笔记)Linux内核学习(二)之进程
			一 进程与线程 进程就是处于执行期的程序,包含了独立地址空间,多个执行线程等资源. 线程是进程中活动的对象,每个线程都拥有独立的程序计数器.进程栈和一组进程寄存器. 内核调度的对象是线程而不是进程.对 ... 
- Python 中 __all__ 的作用(转)
			之前看代码每次遇到import *时就会特别蒙,看到这篇文章一下子就弄明白了,原文地址:https://www.cnblogs.com/alamZ/p/6943869.html 1.测试文件foo.p ... 
- 和我一起学《HTTP权威指南》——安全HTTP与HTTPS
			安全HTTP HTTPS是最流行的HTTP安全形式. HTTPS方案的URL以https://开头 使用HTTPS时,所有的HTTP请求和响应数据在发送到网络之前,都要进行加密.HTTPS在HTTP传 ... 
- [React] 11 - Redux: redux
			Ref: Redux中文文档 Ref: React 讀書會 - B團 - Level 19 Redux 深入淺出 Ref: React+Redux 分享會 Ruan Yifeng, Redux 架构: ... 
- asp.net mvc 3.0 知识点整理 ----- (4).asp.net mvc 3 和asp.net mvc 4 对比
			asp.net mvc的版本更新很快,每个版本都在前一个版本的基础上,进行性能的优化和功能的完善和提升. 以下,便是我对比了下两个版本,发现最基本的差异.(更新补充中..) 一.关于配置类Global ... 
