nicklaw5/larapi

一个简单的 Laravel 5 类,用于处理 JSON API 响应。

3.0.1 2017-02-03 19:35 UTC

This package is auto-updated.

Last update: 2024-09-19 10:12:22 UTC


README

一个简单的 Laravel 5 扩展包,用于处理常见的 HTTP API 响应(JSON 格式)。

文档

您可以在以下位置找到 v2.x 文档。有关最新版本(v3.x)的文档,请参阅下面。

安装

使用 composer 引入 Larapi

$ composer require nicklaw5/larapi

然后,将以下 服务提供者 添加到您的 config/app.php 文件中的 providers 数组

'providers' => array(
	...
	Larapi\LarapiServiceProvider::class,
);

用法

###成功响应### 可用响应

Larapi::ok();           // 200 HTTP Response
Larapi::created();      // 201 HTTP Response
Larapi::accepted();     // 202 HTTP Response
Larapi::noContent();    // 204 HTTP Response

示例:返回 HTTP OK

这将返回

// app/Http/routes.php

Route::get('/', function()
{
	return Larapi::ok();
});

带有以下头信息

{
	"success": true
}

示例:返回 HTTP OK 并包含响应数据

HTTP/1.1 200 OK
Content-Type: application/json

示例:返回 HTTP OK 并包含自定义响应头信息

这将返回

// app/Http/routes.php

Route::get('/', function()
{
	$data = [
		['id' => 1, 'name' => 'John Doe', 'email' => 'john@doe.com'],
		['id' => 2, 'name' => 'Jane Doe', 'email' => 'jane@doe.com']
	];

	return Larapi::ok($data);
});

带有以下头信息

{
	"success": true,
	"response": [
		{
			"id": 1,
			"name": "John Doe",
			"email": "john@doe.com"
		},
		{
			"id": 2,
			"name": "Jane Doe",
			"email": "jane@doe.com"
		}
	]
}

示例:返回 HTTP OK 并包含响应数据

HTTP/1.1 200 OK
Content-Type: application/json

###错误响应###

这将返回

// app/Http/routes.php

Route::get('/', function()
{
	$data = [
		['id' => 1, 'name' => 'John Doe', 'email' => 'john@doe.com'],
		['id' => 2, 'name' => 'Jane Doe', 'email' => 'jane@doe.com']
	];

	$headers = [
		'Header-1' => 'Header-1 Data',
		'Header-2' => 'Header-2 Data'
	];

	return Larapi::ok($data, $headers);
});

带有以下头信息

{
	"success": true,
	"response": [
		{
			"id": 1,
			"name": "John Doe",
			"email": "john@doe.com"
		},
		{
			"id": 2,
			"name": "Jane Doe",
			"email": "jane@doe.com"
		}
	]
}

示例:返回 HTTP OK 并包含响应数据

HTTP/1.1 200 OK
Content-Type: application/json
Header-1: Header-1 Data
Header-2: Header-2 Data

可用响应

示例:返回 HTTP 错误请求

Larapi::badRequest();           // 400 HTTP Response
Larapi::unauthorized();         // 401 HTTP Response
Larapi::forbidden();            // 403 HTTP Response
Larapi::notFound();             // 404 HTTP Response
Larapi::methodNotAllowed();     // 405 HTTP Response
Larapi::conflict();             // 409 HTTP Response
Larapi::unprocessableEntity();  // 422 HTTP Response
Larapi::internalError();		// 500 HTTP Response
Larapi::notImplemented();       // 501 HTTP Response
Larapi::notAvailable();         // 503 HTTP Response

示例:返回 HTTP 错误请求并包含自定义应用程序错误信息

这将返回

// app/Http/routes.php

Route::get('/', function()
{
	return Larapi::badRequest();
});

带有以下头信息

{
	"success": false
}

示例:返回 HTTP OK 并包含响应数据

HTTP/1.1 400 Bad Request
Content-Type: application/json

示例:返回 HTTP 错误请求并包含错误数组及自定义响应头信息

这将返回

// app/Http/routes.php

Route::get('/', function()
{
	$errorCode = 4001;
	$errorMessage = 'Invalid email address.';

	return Larapi::badRequest($errorMessage, $errorCode);
});

带有以下头信息

{
	"success": false,
	"error_code": 4001,
	"error": "Invalid email address."
}

示例:返回 HTTP OK 并包含响应数据

HTTP/1.1 400 Bad Request
Content-Type: application/json

许可证

这将返回

// app/Http/routes.php

Route::get('/', function()
{
	$errorCode = 4001;
	$errors = [
		'email' => 'Invalid email address',
		'password' => 'Not enough characters',
	];

	$headers = [
		'Header-1' => 'Header-1 Data',
		'Header-2' => 'Header-2 Data'
	];

	return Larapi::badRequest($errors, null, $headers);
});

带有以下头信息

{
	"success": false,
	"errors": {
		"email": "Invalid email address",
		"password": "Not enough characters"
	}
}

示例:返回 HTTP OK 并包含响应数据

HTTP/1.1 200 OK
Content-Type: application/json
Header-1: Header-1 Data
Header-2: Header-2 Data

Larapi 在 MIT 许可证的条款下授权。

Larapi 使用的是 MIT 许可证

待办事项

  • 测试,测试,测试