caicedo1089/web-rest-api

Web API Rest是一个微框架,展示如何创建和使用REST API。

安装: 6

依赖: 0

建议者: 0

安全: 0

星级: 1

关注者: 2

分支: 0

开放问题: 0

语言:JavaScript

1.0.0 2018-03-07 02:50 UTC

This package is not auto-updated.

Last update: 2024-09-20 02:07:10 UTC


README

Web API Rest是一个微框架,展示如何创建和使用REST API。此外,它还包含一个简单的认证系统,允许用户认证。它基于Eloquent进行模型管理,使用PHP Router进行路由管理,以及PHP Dotenv进行配置管理。

目录结构非常简单,如下所示

  • app/ 存储API和Web,以及一个core文件夹,其中存储API模型和控制器的基类。
  • config/ 存储所有主要配置。
  • public/ 存储所有公开文件,在本例中是使用ExtJS 4.2.1实现的Front End。

演示

Demostración

安装

  • 克隆项目。
  • 进入项目目录并执行以下命令 composer
composer install
  • 项目中有users.sql文件,将其导入您的数据库中,仅测试过MySQL数据库。
  • 在.env文件中添加您的数据库连接信息。
  • 最后,我们将启动一个http服务器来测试项目,为此请执行以下命令
php -S localhost:8000

在浏览器中打开localhost:8000,我们可以访问项目。在/api中可以访问API,在/web中可以访问Web。

API访问点

此项目只有这两个端点

###AUTH

处理认证。

  • POST /api/auth/login
//JSON Request
{
    "login": "correo@dominio.com",
    "password": "123456"
}

//JSON Response - 200
{
    "data": {
        "id": 29,
        "full_name": "Pedro Caicedo",
        "username": "pcaicedo",
        "email": "info@pcaicedo.com",
        "remember_token": null,
        "created_at": "-0001-11-30 00:00:00",
        "updated_at": "-0001-11-30 00:00:00",
        "deleted_at": null
    }
}
  • POST /api/auth/register
//JSON Request
{
    "full_name": "Pedro Caicedo",
    "username": "caicedo1089",
    "email": "correo@dominio.com",
    "password": "123456"
}

//JSON Response - 200
{
    "data": {
        "id": 31
    }
}
  • GET /api/auth/logout
//JSON Request - No aplica

//JSON Response - 200
{
    "data": {
        "id": 29
    }
}

###USERS

系统用户的CRUD。

  • GET /api/users/
//JSON Request

?filter=<Filtra por nombre, username o correo>

//JSON Response - 200
{
    "data": [
        {
            "id": 28,
            "full_name": "José Caicedo",
            "username": "caicer",
            "email": "caicer",
            "remember_token": null,
            "created_at": "2018-03-05 06:01:48",
            "updated_at": "-0001-11-30 00:00:00",
            "deleted_at": null
        }
    ]
}
  • POST /api/users/
//JSON Request
{
    "full_name": "Pedro Caicedo",
    "username": "caicedo1089",
    "email": "correo@dominio.com",
    "password": "123456"
}

//JSON Response - 200
{
    "data": {
        "id": 31
    }
}
  • PUT /api/users/<id_user> 所有请求参数都是可选的,也就是说,如果我们只想更新名称,我们只需在JSON中发送full_name参数。
//JSON Request
{
    "full_name": "Otro Nombre", 
    "username": "caicedo1089_CO",
    "email": "correo@dominio.com.co",
    "password": "1234567"
}

//JSON Response - 200
{
    "data": {
        "id": 31
    }
}
  • DELETE /api/users/<id_user>
//JSON Request - No aplica

//JSON Response - 200
{
    "data": {
        "id": 31
    }
}

致谢

许可证