コード例 #1
0
 /**
  * Adds a medium of given provider
  * If you need to upload a file (depends on the provider) you will need to do so by sending content as a multipart/form-data HTTP Request
  * See documentation for more details.
  *
  * @ApiDoc(
  *  resource=true,
  *  input={"class"="sonata_media_api_form_media", "name"="", "groups"={"sonata_api_write"}},
  *  output={"class"="Sonata\MediaBundle\Model\Media", "groups"={"sonata_api_read"}},
  *  statusCodes={
  *      200="Returned when successful",
  *      400="Returned when an error has occurred while medium creation",
  *      404="Returned when unable to find medium"
  *  }
  * )
  *
  * @Route(requirements={"provider"="[A-Za-z0-9.]*"})
  *
  * @param string  $provider A media provider
  * @param Request $request  A Symfony request
  *
  * @return Media
  *
  * @throws NotFoundHttpException
  */
 public function postProviderMediumAction($provider, Request $request)
 {
     $medium = $this->mediaManager->create();
     $medium->setProviderName($provider);
     try {
         $mediaProvider = $this->mediaPool->getProvider($provider);
     } catch (\RuntimeException $ex) {
         throw new NotFoundHttpException($ex->getMessage(), $ex);
     }
     return $this->handleWriteMedium($request, $medium, $mediaProvider);
 }