2014-01-08 2 views
3

Я знаю, потому что есть простой способ распутать объекты доктрины из объектов запроса. Я создаю RESTful API с fos/rest-bundle, поэтому мне не нужны формы.Symfony2 create Entity from Request

Знаете ли вы, хороший способ сделать это, очень легко и быстро?

// POST /api/products 
public function postProductsAction(Request $request) 
{ 
    $product = new Product(); 
} 

Кроме того, я whondering его можно погоду вводить экземпляры сущностей непосредственно в контроллере с почтовыми запросами.

// PUT /api/product/1 
// I need this functionality for post requests too 
public function putProductAction(Product $product) 
{ 
    return $product; // { "id" : "1", "name" : "foo" } 
} 

Привет,

--marc

ответ

3

Что вам нужно, это наиболее общая цель каждого REST API. И лучший способ сделать это - использовать сериализатор, помимо форм (даже если вы предпочитаете не использовать формы).

Советую вам прочитать, например, this tutorial writen by William Durand. Он очень хорошо объясняет каждую точку и использует JMSSerializerBundle для преобразования объектов через API.

+0

Я знаю, что это старый пост, но я хотел бы уточнить это для людей, прибывающих сюда путем поиска. В упомянутом учебном пособии формы все еще используются для преобразования запроса в сущность/проверку. Сериализация используется только для другого: сущность для ответа. –