定制 voryx/restgeneratorbundle 二次开发

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

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

voryx/restgeneratorbundle

最新稳定版本:0.4.0

Composer 安装命令:

composer require voryx/restgeneratorbundle

包简介

REST API Generator for Symfony 2

README 文档

README

SensioLabsInsight

About

A CRUD like REST Generator

Features

  • Generators RESTful action from entity
  • Simplifies setting up a RESTful Controller

Installation

Require the "voryx/restgeneratorbundle" package in your composer.json and update your dependencies.

$ php composer.phar require voryx/restgeneratorbundle dev-master

Add the VoryxRestGeneratorBundle to your application's kernel along with other dependencies:

public function registerBundles() { $bundles = array( //... new Voryx\RESTGeneratorBundle\VoryxRESTGeneratorBundle(), new FOS\RestBundle\FOSRestBundle(), new JMS\SerializerBundle\JMSSerializerBundle($this), new Nelmio\CorsBundle\NelmioCorsBundle(), //... ); //... }

Configuration

This bundle depends on a number of other Symfony bundles, so they need to be configured in order for the generator to work properly

framework: csrf_protection: false #only use for public API fos_rest: routing_loader: default_format: json param_fetcher_listener: true body_listener: true #disable_csrf_role: ROLE_USER body_converter: enabled: true view: view_response_listener: force nelmio_cors: defaults: allow_credentials: false allow_origin: [] allow_headers: [] allow_methods: [] expose_headers: [] max_age: 0 paths: '^/api/': allow_origin: ['*'] allow_headers: ['*'] allow_methods: ['POST', 'PUT', 'GET', 'DELETE'] max_age: 3600 sensio_framework_extra: request: { converters: true } view: { annotations: false } router: { annotations: true }

Generating the Controller

Generate the REST controller

$ php app/console voryx:generate:rest

This will guide you through the generator which will generate a RESTful controller for an entity.

Example

Create a new entity called 'Post':

$ php app/console doctrine:generate:entity --entity=AppBundle:Post --format=annotation --fields="name:string(255) description:string(255)" --no-interaction

Update the database schema:

$ php app/console doctrine:schema:update --force

Generate the API controller:

$ php app/console voryx:generate:rest --entity="AppBundle:Post"

Using the API

If you selected the default options you'll be able to start using the API like this:

Creating a new post (POST)

$ curl -i -H "Content-Type: application/json" -X POST -d '{"name" : "Test Post", "description" : "This is a test post"}' http://localhost/app_dev.php/api/posts

Updating (PUT)

$ curl -i -H "Content-Type: application/json" -X PUT -d '{"name" : "Test Post 1", "description" : "This is an updated test post"}' http://localhost/app_dev.php/api/posts/1

Get all posts (GET)

$ curl http://localhost/app_dev.php/api/posts

Get one post (GET)

$ curl http://localhost/app_dev.php/api/posts/1

Delete (DELETE)

$ curl -X DELETE http://localhost/app_dev.php/api/posts/1

Related Entities

If you want the form to be able to convert related entities into the correct entity id on POST, PUT or PATCH, use the voryx_entity form type

#Form/PostType() ->add( 'user', 'voryx_entity', array( 'class' => 'Acme\Bundle\Entity\User' ) )

统计信息

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

GitHub 信息

  • Stars: 176
  • Watchers: 27
  • Forks: 70
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固