Я создаю REST API с FOSRestBundle в Symfony2. Я использую формы для создания и обновления объектов с помощью Doctrine2. Все работает нормально, если я отправляю все поля формы. Пример: {"first_name":"Pi","last_name":"Wi"} Человек вставлен нормально, но теперь я хочу обновить только фамилию. {"last_name":"Wi"} Проблема в том, что после обновления первое имя пуст, потому что форма обновляет объект […]
Я хочу исключить некоторые атрибуты, когда возвращаю объект с отношениями. Например, у меня есть объект Users и Album, и я просто хочу выставить имя пользователя, когда я получу список альбомов. Является ли это возможным ? Вот мой объект Album: <?php namespace Billion\AlbumBundle\Entity; use Billion\AlbumBundle\Entity\Media; use Doctrine\ORM\Mapping as ORM; /** * Album * * @ORM\Table() * […]
Попытка передать доктрину dbal-соединение с моей конструкцией в контроллере. Я следую этой ссылке, но это не работает: Как вы получаете доступ к Doctrine DBAL в классе обслуживания Symfony2? Вот моя служба внутри app / config / config.yml services: form1: class: Test\TestBundle\Controller\FormController arguments: [@doctrine.dbal.form1_connection] Вот мой контроллер с конструкцией namespace Test\TestBundle\Controller; use FOS\RestBundle\Controller\FOSRestController; use FOS\RestBundle\Controller\Annotations as […]
Я пытаюсь добавить настраиваемый элемент управления исключениями в FOSRestBundle, но он, кажется, игнорирует мои пользовательские сообщения (код состояния ответа в порядке). У меня есть: throw new HttpException(404, "User {$id} not found"); Но получите ответ json: { "error": { "code": 404, "message": "Not Found" } } Поэтому я не нашел способ показать свое сообщение
В приведенном ниже коде я ожидаю, что $request->getContents() получит содержимое тела HTTP запроса. При отправке не multipart-запроса это работает так, как ожидалось, но при использовании многочастных запросов переменная $body остается пустой. public function postDebugAction(Request $request) { $body = $request->getContent(); if (empty($body)) { throw new \Exception('Body empty.'); } return $this->view(array(), 201); } Прочитав этот вопрос и […]
Проблема исправлена, проверьте мой ответ. Я создаю конечную точку регистрации на моем Symfony2.7 rest api. Я использую FosRestBundle и FosUserBundle Вот модель пользователя: <?php namespace AppBundle\Entity; use FOS\UserBundle\Model\User as BaseUser; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity * @ORM\Table(name="fos_user") */ class User extends BaseUser { /** * @ORM\Id * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") */ protected $id; […]
Я разрабатываю REST api с пакетом Symfony2 + FOSRest. Я хотел бы знать, есть ли какой-либо способ для вызова api в режиме dev ( app_dev.php ) из браузера (соответствующий заголовку Accept: text/html,application/xhtml+xml ), чтобы отобразить ответ в «указанный формат», завернутый в html с профилировщиком, предоставленным symfony. Это позволит отлаживать вызовы на api непосредственно в браузере. […]
Моя соответствующая конфигурация fos_rest: view: view_response_listener: force sensio_framework_extra: view: annotations: false и это действительно раздражает, чтобы указать маршрут как @Route("/jobs", defaults={ "_format" = "json" }) каждый раз. Так можно ли указать его где-то по умолчанию? PS: Если я удалю defaults={ "_format" = "json" } и вызовет конечную точку /jobs я получаю исключение Unable to find […]
Я делаю REST API для своего приложения, управляемого JS. Во время входа в систему форма входа выдается через AJAX для URL-адреса /rest/login в /rest/login моего API. Если логин успешно завершен, он возвращает 204 Если он терпит неудачу, он возвращает 401 Хотя я разделял брандмауэры для API и самого приложения, они имеют один и тот же […]