DingoGenerator.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. namespace Mpociot\ApiDoc\Generators;
  3. use Exception;
  4. class DingoGenerator extends AbstractGenerator
  5. {
  6. /**
  7. * @param $route
  8. * @param array $bindings
  9. *
  10. * @return array
  11. */
  12. public function processRoute($route, $bindings = [])
  13. {
  14. try {
  15. $response = $this->getRouteResponse($route, $bindings);
  16. } catch( Exception $e){
  17. $response = '';
  18. }
  19. $routeAction = $route->getAction();
  20. $routeGroup = $this->getRouteGroup($routeAction['uses']);
  21. $routeDescription = $this->getRouteDescription($routeAction['uses']);
  22. return $this->getParameters([
  23. 'resource' => $routeGroup,
  24. 'title' => $routeDescription['short'],
  25. 'description' => $routeDescription['long'],
  26. 'methods' => $route->getMethods(),
  27. 'uri' => $route->uri(),
  28. 'parameters' => [],
  29. 'response' => $response,
  30. ], $routeAction);
  31. }
  32. /**
  33. * {@inheritdoc}
  34. */
  35. public function callRoute($method, $uri, $parameters = [], $cookies = [], $files = [], $server = [], $content = null)
  36. {
  37. return call_user_func_array([app('Dingo\Api\Dispatcher'), strtolower($method)], [$uri]);
  38. }
  39. /**
  40. * {@inheritdoc}
  41. */
  42. protected function getUri($route)
  43. {
  44. return $route->uri();
  45. }
  46. }