formBuilder = $formBuilder; } /** * {@inheritdoc} */ public static function create(ContainerInterface $container) { return new static( $container->get('form_builder') ); } private function getFormDefinition(){ $language = \Drupal::languageManager()->getCurrentLanguage()->getId(); \Drupal::logger('materio_sapi')->notice($language); // $form_state = new FormState(); $this->form_builded = $this->formBuilder->getForm('Drupal\materio_sapi\Form\MaterioSapiSearchForm', $language); } /** * Handler for getform request. */ public function getForm(Request $request) { $this->getFormDefinition(); $rendered = render($this->form_builded); // $form_builded = $this->form_builded; // $rendered = \Drupal::service('renderer')->executeInRenderContext(new RenderContext(), function () use ($form_builded) { // return render($form_builded); // }); $data = [ 'rendered' => $rendered, // '#cache' => [ // 'max-age' => \Drupal\Core\Cache\Cache::PERMANENT, // 'tags' => [ // 'materio_sapi-search_form-cache', // ] // ] ]; $response = new JsonResponse(); $response->setData($data); // $response = new CacheableJsonResponse($data); // $response->addCacheableDependency(CacheableMetadata::createFromRenderArray($data)); return $response; } }