agustincarmona/laravel-api-schema

发布每个API控制器公共方法的模式

0.1.1 2015-09-27 22:14 UTC

This package is not auto-updated.

Last update: 2024-09-28 19:14:53 UTC


README

对于那些使用过ASP.NET或Java网络服务的人,你们应该熟悉WSDL格式。此格式的目的是为API的每个方法返回输入和输出数据结构。这很有用,因为它允许你从网络服务的模式动态构建对象或类。

假设我们正在使用一个API,并想构建一些对象来封装网络服务的响应并处理这些数据。我们需要对这些数据进行转换,以适应我们的类结构。

现在想象一下,如果你可以只查询网络服务的模式就动态构建模型,这将节省我们查找文档查看新结构、在模型中实现新属性以及调整应用程序的时间。

安装

$ composer require "agustincarmona/laravel-api-schema"

使用方法

在控制器中添加 trait APISchema\Http\Traits\SchemeTraitController。

class MyController extends Controller {
  use APISchema\Http\Traits\SchemeTraitController;

}

创建一个类,包含控制器每个动作的输入参数。

class formInput extends InputModel {

  /**
  * Sample parameter 1
  * @var int
  **/
  public $id;

  /**
  * Sample parameter 2
  * @var string
  **/
  public $name;
  
    /**
     * @see \Validator
     * @return array
     */
    public function getValidator() {
        return [];
    }  

}

在控制器每个动作中添加注释,用于定义包含方法输入数据定义的类。

    /**
     * @input formInput
     * @return mixed
     */
	public function postIndex()
	{
		return View::make('form');
	}