定制 agustincarmona/laravel-api-schema 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

agustincarmona/laravel-api-schema

最新稳定版本:0.1.1

Composer 安装命令:

composer require agustincarmona/laravel-api-schema

包简介

Publish schema, for each public method of API controllers

README 文档

README

Los que habéis usado servicios web de ASP.NET o Java estaréis familiarizados con el formato WSDL. El objetivo de este formato es devolver la estructura de datos de entrada y datos de salida para cada método del API. Esto es un útil porque te permite montar objetos o clases dinámicamente a partir del schema de un servicio web.

Pues bien, imaginar que estamos usando un API y queremos montar unos objetos para encapsular la respuesta del servicio web y trabajar esos datos. Nos tocaría hacer una transformación de esos datos en nuestra estructura de clases.

Ahora imaginar que podéis construir los modelos dinámicamente sólo consultando el schema del servicio web, esto nos ahorraría tener que buscar la documentación para ver la nueva estructura, implementar las nuevas propiedades en nuestros modelos y adaptar nuestra aplicación.

Instalación

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

Cómo se usa

Añadir el trait APISchema\Http\Traits\SchemeTraitController en tú controlador.

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

}

Crear una clase con los parámetros de entrada de cada acción del controlador.

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 [];
    }  

}

En cada acción del controlador añadir un comentario para definir la clase que contiene la definición de los datos de entrada del método.

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

统计信息

  • 总下载量: 27
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 2
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-09-27