Restful API实战(php内容有点多,有时间写吧)

课程地址:https://www.imooc.com/learn/811

一、restful是什么

6a7a9fc2e5f4cf73650b0bdd005126acbc7.jpg

9d8e97acbdb17e0254585609bd7fc891ff6.jpg

3a2d5b766c8b691c59864d227f59995077b.jpg

.ab34ce65cf91286bc89b395acdad8e4f092.jpg

二、为什么要使用Restful

21385f9b4d5b90dd8f93a2d33e91b8f0888.jpg

675e3ec35faad5f02b251bbfd39b52c60df.jpg

https默认端口是443

3a1a3a0125a155226e6333342482b2dbca9.jpg

目前已发布的http1.0,http1.1

0183772ce2de8fadf79a39d9d80d1b02a6f.jpg

举例:需要获取资源的创建时间和最后修改时间,可以用HEAD请求

a09dbd991b75a78049d69c01e6475eb2cd9.jpg

举例:需要请求获取服务器允许我对服务器进行哪些操作,可以用OPTIONS请求。还有类似访问频率参数

5df661cdc7d5342c310893606e1816577d9.jpg

fe3f32cbff91ed4be146861d6411958aa88.jpg

6525429729dc20302d3ac0db9f21e86d3af.jpg

0c2403449370db9fcafd6e991e295c12de6.jpg

0de2db3c43f9e1bc3cf428fbeed3f42a38e.jpg

acf806c686259336cd7cfa4b9f7de811469.jpg

95644a0d8185744b3eb443e01ca83dcc839.jpg

三、如何使用Restful

6bd1f469c5b63c6d512bd143533486151fd.jpg

6cde3ec177a105104c2b3a54921352848f6.jpg

5c2b1dc7de3f5f48f9c9080baddf29a40ff.jpg

版本号也可以加入head中

f750d5ee52d08cbc5923a0353ad4509fdf5.jpg

708f33fa35853c27156b7fdc055c7db147a.jpg

PATCH只会返回更改的信息

0d47fc73d2f2237476c0f023c81c5f67663.jpg

f2740275691832640095474d579686d3c03.jpg

40cce8377178db1db8e76359672c82b771b.jpg

5b10f156fac791203d7bece1ba35ee8dd66.jpg

df56e09486875b34c5075808b3885cbfd11.jpg

0757fbbb018a6c97abfafd698666c018f06.jpg

8ac80ab374b3a4579e0c56ad03f3deac60a.jpg

53fae58720861c4b4e1a9bf55f104a0ce92.jpg

a08e7b393499ed547e8e23fb599b9194702.jpg

d9fce7c0ff3504c3837ee146e42ef915f2c.jpg

5e1ae5ab3594f7a032766c64bd9d4cfb994.jpg

7a1c45fb8c92c29829912af8d55b540496a.jpg

aab08ec2b9e6dfad67ed02d62883c1c48c6.jpg

右键管理员方式

e1ce1385c36f287dee2032451ebcd1f7563.jpg

s1

785115f265fc2c0a5407d6e790f7b9b3b28.jpg

1

d18c62af23cce18b5944e0b161eb8d7018d.jpg

api.com
回车回车
n

97c99bd65d316851718888c1a4f49384fac.jpg

删除vhosts/api.com/Errorfiles

c5689dbf9c5cb54c19fced18baae3937524.jpg

管理员打开UPUPW_AP5.5/Apache2/conf/httpd-vhost.conf

8a4e8c07a4c64b2992ea7ae4786c866ec65.jpg

将137行注释,设置关闭防跨站

78c1f9586b5819452a2b7229450f9021a2d.jpg

q

d9adbe1fbb270e99bba4f7a977c8ba2963c.jpg

rr

9d703cc91e85d3726e050a360ec906e8ba9.jpg

a8d360a20472af207363171ca193503d4f3.jpg

127.0.0.1 api.com

159cc29bf4104db49b5099370176e8cd994.jpg

本地开发环境搭建好

11a76d00eb3cf717ce9cf328e5cce919642.jpg

b421a691eaab06b3ca548a18c033e9c20c3.jpg

e3654b11e4c2fffad1d165378449c5717c4.jpg

2f548430b3bda3728c193af440f9e0a20ad.jpg

fe6229ff269a4bbd37db696cdee12006185.jpg

4d73f1c6920692a30b894b911a33ec14354.jpg

使用mysql workbench

点击models的+

9d7f02c975409b9f1c5bd2553f91f33a09f.jpg

Add Diagram

8e6e0d18708c0cdf9962ed33b208aec0e86.jpg

618b510b87d98bd3fe973e9814ad7438cfa.jpg

设置表和字段

10cf3469d12dd5b9e84582023ef18b51309.jpg

8623c7584b7d831d7db389740725645240b.jpg

添加索引

4fc66f6d9286400cfc07c18867fd4da0d90.jpg

设置文章

4de78b69d8bdc1d6198c6c4ef8a4e73e6f3.jpg

添加外键工具

ebf65cc0c7aa98320110669e935e4de08d4.jpg

多了一个外键

5c717621b9aa6feb70f348abd8ade78039c.jpg

删除前面user表名

ef85d3d7c02fecf53789ff0f3705e2a9cef.jpg

file-export-SQL script

f1faab06b2d8616d5ed02bd7ea9b215c91d.jpg

导出脚本命名sql

4a02de9dee2b31c82a084b36be424821c4d.jpg

生成之前先drop-next-next

ead09f09ff1ee467fb287481ffabdfd9fc8.jpg

打开数据库管理软件-右键数据库-运行SQL

f8fce56c3c22db622f436c3f61bdebbdb7b.jpg

刷新后发现多了mydb

ad2afb1b008e30ab5c3bea365cf5676c06b.jpg

连接外键。数据库新建完毕

b9dc0ce3dbbcfc993b75d91201a11390b13.jpg

eb32f9b5c48f0e4a1190bb43831a331d3f5.jpg

访问都对应

24ce89bba4e0603308e71452c7832e84b84.jpg

<?php
/**
 * 连接数据库并返回数据库句柄
*/
$pdo = new PDO('mysql:host=localhost;dbname=resfult','root','root')
return $pdo

新建api.com/lib/db.php

52cce05658d95b4f23c0313d7df04268c7e.jpg

<?php
class User
{
  /**
   * 数据库连接句柄
   */
  private $_db
  /**
   * 构造方法
   * @param PDO @_db PDO连接
   */

  /**
   * 用户登录
   */
  public function login($username, $password)
  {

  }
  /**
   * 用户注册
   */
  public function register($username, $password)
  {
    return $this->_isUsernameExists($username)
  }
  /**
   * 检测用户名是否存在
   * @param $username
   */
  private function _isUsernameExists($username)
  {
    $sql = 'SELECT * FROM `user` WHERE `username`=:username'
    $stmt = $this->_db->prepare($sql)
    $stmt->bindParam(':username',$username)
    $stmt->execute()
    $exists= $stmt->fetch(PDO::FETCH_ASSOC)
    return !empty($exists)
  }
}

新建api.com/lib/User.php

5a111757d7e42340d90a0f56173edb3c8df.jpg

<?php
require __DIR__.'/lib/User.php'
$pdo = require __DIR__.'./lib/db.php'
$user = new User($pdo)
print_r($user->register('admin','admin')

新建api.com/index.php,实例化类

8179187aa18590e808ecb79590d0841a223.jpg

添加数据库记录

2b09213e160a232ef217add748c2bb59276.jpg

访问取得1

270fea7988be948bd3a17d396acdea384d2.jpg

faf69527f2e0b1442697417c69db3a5b3da.jpg

输入不存在用户,返回空

1803d86b0facc2e13ef055d189795319e77.jpg

    // return $this->_isUsernameExists($username)
    if ($this->_isUsernameExists($username)){
      throw new Exception('用户已存在', 1)
    }

php内容有点多,有时间写吧

转载于:https://my.oschina.net/u/3018050/blog/1942449

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
server 地址: http://www.jasig.org/cas/download client 地址: http://www.ja-sig.org/downloads/cas-clients/ 当前最新版本 cas-server-3.4.2 , cas-client-3.1.10 2. 安装 server l 解压 cas-server-3.4.2 ,将 cas-server-3.4.2\modules\cas-server-webapp-3.4.2.war 拷贝到 tomcat 的 webapps 下。 3. 配置 server 3.1. 添加 cas server 依赖的 jar n cas-server-3.4.2\modules\cas-server-support-jdbc-3.4.2.jar 、 cas-server-integration-restlet-3.4.2.jar 拷贝到 D:\server\apache-tomcat-6.0.18\webapps\cas\WEB-INF\lib 目录下。 n 数据库驱动 jar 拷贝到 D:\server\apache-tomcat-6.0.18\webapps\cas\WEB-INF\lib 目录下。 n 到 apache 网站下载下面三个 cas server 依赖 jar 包拷贝到 D:\server\apache-tomcat-6.0.18\webapps\cas\WEB-INF\lib 目录下 Ø http://apache.freelamp.com/commons/collections/binaries/commons-collections-3.2.1-bin.zip Ø http://apache.etoak.com/commons/dbcp/binaries/commons-dbcp-1.4-bin.zip Ø http://apache.etoak.com/commons/pool/binaries/commons-pool-1.5.4-bin.zip n 下载 restlet 相关 http://www.restlet.org/downloads/ , 解压后将下面 jar 拷贝到 D:\server\apache-tomcat-6.0.18\webapps\cas\WEB-INF\lib: ( 它奶奶地这一步骤很折腾 ) com.noelios.restlet.ext.servlet_2.5.jar com.noelios.restlet.ext.spring_2.5.jar com.noelios.restlet.jar org.restlet.ext.spring_2.5.jar org.restlet.jar n 下载 CGlib http://sourceforge.net/projects/cglib/files/ 拷贝到 D:\server\apache-tomcat-6.0.18\webapps\cas\WEB-INF\lib 。 n 下载 ASM/OW2 http://forge.ow2.org/projects/asm/ 拷贝到 D:\server\apache-tomcat-6.0.18\webapps\cas\WEB-INF\lib 。 3.2. 添加数据源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值