#java #spring-boot #google-app-engine #servlet-filters #objectify
#java — язык #весенняя загрузка #google-app-engine #servlet-фильтры #объективировать #java
Вопрос:
Я пишу приложение Kotlin для развертывания в Google App Engine. Я использую плагин Gradle для фактического развертывания в GAE. Все работало нормально; я успешно развернул приложение hello-world в GAE.
Однако теперь мне нужно добавить Фильтр, в частности com.googlecode.objectify.ObjectifyFilter
. Но как только я добавлю этот фильтр в свой файл app.yaml, приложение больше не будет развертываться. Вместо этого он выдает мне сообщение об ошибке, сообщающее, что «filter» не был ожидаемым атрибутом.
Вот мой файл app.yaml:
runtime: java11
handlers:
- url: /*
filter: com.googlecode.objectify.ObjectifyFilter
Вот в чем ошибка:
> Task :webservice:appengineDeployAll FAILED
ERROR: (gcloud.app.deploy) An error occurred while parsing file: [C:UsersmathewDocumentsfooAppwebservicebuildstaged-appapp.yaml]
Unexpected attribute 'filter' for object of type URLMap.
in "C:UsersmathewDocumentsfooAppwebservicebuildstaged-appapp.yaml", line 4, column 11
Что я делаю не так? Как мне настроить фильтр в приложении GAE?
Ответ №1:
Вы должны указать класс фильтра в файле дескриптора развертывания. Затем вы можете установить свои заголовки внутри этого класса фильтра. Здесь вы можете найти более подробную информацию о фильтрах в App Engine.
Следует иметь в виду, что эти фильтры не работают для запросов статических ресурсов для ваших css и js.files.
Комментарии:
1. Итак, фильтры настроены в web.xml , не в app.yaml? Мне нужны оба app.yaml и web.xml ?
2. Если вы используете Java, да. Как вы можете видеть здесь cloud.google.com/appengine/docs/standard/java/config/webxml эти файлы используются для определения того, как URL-адреса отображаются на сервлеты, какие URL-адреса требуют аутентификации и другой информации (в качестве фильтров, которые вы хотите использовать). В общей ссылке вы можете найти более подробную информацию об этом файле
3. Я думал, что это одно или другое. Спасибо за разъяснение.