Skip to content

liyunzhi1993/WebApiCenter

Repository files navigation

概述

WebAPICenter是指对外接口的统一控制中心,包括权限分配,以及未来的日志记录,可控更安全。

##技术架构

架构:asp.net mvc restful web api

前端框架:bootstrap、angularjs

数据库:mongodb

##项目代码结构

##控制中心页面

##接口API规范

**接口地址(正式环境):**http://正式地址/api

调用方式:Get或Post皆可

接口参数:

  • 必选项 名称 类型 描述
  • 必选 method string 方法名称,必须是API文档中的方法名称,否则会返回错误代码 3 (未知方法或方法内部错误)
  • 必选 api_key string API key 对应当前请求api的应用程序。
  • 必选 sig string 请求当前方法的签名. sig需要小写匹配,否则会返回一个签名错误(104)签名由下列算法构造:
  • 把所有参数按照参数key字母排序,然后按照key=value的方式把所有参数拼接为字符串,最后拼接密钥SecretKey的值。例如:key1=value1&key2=value2&key3=value3&secretkey,最后用标准SHA1加密。
  • 必选 api_id string 即要访问的API 库ID 这个会分配
  • 可选 format string 所需的返回格式JSON(默认)或XML,若需要返回XML类型数据格式则需要该参数

返回代码:

  • 代码 描述
  • 0 成功
  • 1 发生未知错误,请重新提交请求
  • 2 服务现在不可用
  • 3 未知方法
  • 4 已到达最大请求
  • 30 未知访问类
  • 100 指定的参数之一丢失或无效
  • 103 提交的call_id不大于该会话的前call_id
  • 5 请求来自于该应用程序不允许的远程地址
  • 6 没有对应的API
  • 7 没有访问该API的权限
  • 10 应用程序没有此操作权限
  • 101 API没有与任何已知的应用程序关联的
  • 102 Session是不正确提交或已超时,用户直接登录以获得另一个密钥
  • 104 错误签名
  • 109 不允许注册
  • 110 用户名已经存在
  • 112 不允许的用户名
  • 113 用户已经在线

##接口调用示例

首先我们会提供给接口调用方,两个key文件,一个APIKey和一个SecretKey,还有一个apiid如本例中的

APIKEY:CEE4975F-8E59-4FB6-A1DD-D02EDA829342

SecretKey:3C3219B7CFEB89418259CB445AC33051

APIId:56b08a110ad8f94c50e6bf05

1、提供接口方法所需的特定参数(必填):

在Score.QueryScoreByMembercode这测试接口方法中,membercode入参是必须的,在本例中分别对应138888888888,通过key=value的方式拼接参数字符串为:

method= Score.QueryScoreByMembercode&membercode=138888888888

2、加上其余可选参数(可根据需要选填):

method=Score.QueryScoreByMembercode&api_key=CEE4975F-8E59-4FB6-A1DD-D02EDA829342&membercode=138888888888

4、根据上面的字符串,加上secretkey值,用sh1算法加密得到sig的值

method=Score.Score.QueryScoreByMembercode&api_key=CEE4975F-8E59-4FB6-A1DD-D02EDA829342&membercode=138888888888

&api_id=56b08a110ad8f94c50e6bf05&3C3219B7CFEB89418259CB445AC33051

通过sha1算法加密上面的字符串,可以得到例如

sig=062A3A36C664FEFE0FD1472A7782969DF1AB0CF0

5、现在就可以通过完整的url,获取所需要的数据了:

www.正式地址/api?method=Score.QueryScoreByMembercode&api_key=CEE4975F-8E59-4FB6-A1DD-D02EDA829342&sig=062A3A36C664FEFE0FD1472A7782969DF1AB0CF0&membercode=13901648617&api_id=56b08a110ad8f94c50e6bf05

6、服务器返回的结果默认是Json,也可以是XML

##QA

1、登录用户怎么增加

进入发布服务器下,在C:\Program Files (x86)\MongoDB 2.6 Standard\bin打开DOS命令窗口

输入mongod –dbpath “D:/Mongodb/DB”

然后重新打开新的dos命令窗口

输入mongo

然后输入use WebApiCenter(WebApiCenter即数据库)

然后输入db.Users.insert({account:”用户名”,password:”密码”})

即可

2、如何增加API类库

在APILirbry下增加类库

以及在mongodb中增加

db.ApiLibrary.insert({apiname:"MobileServices",description:"专为移动端开发的API",docid:""})

About

Asp.net MVC WebApi控制中心

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published