Могу ли я объединить классы REST и статические ресурсы в простом проекте Meecrowave? - PullRequest
0 голосов
/ 10 февраля 2019

У меня есть два проекта Maven Meecrowave, которые я хотел бы объединить.- Первый проект - это простой класс с методом main: - Второй проект содержит только статические html-файлы.

Чтобы избежать ошибок XSS или CSRF, я бы хотел объединить два проекта.

Я объединил свои java-классы и html / js-файлы в одном проекте java в src / main / java HTML / JS в src / main / resources / www

Я попытался установить «webapp» вфайл конфигурации POM.Похоже, это переопределяется классами, сканируемыми на наличие REST-декораторов.

public static void main(String... args) throws Exception {
    try (final Meecrowave meecrowave = new Meecrowave().bake()) {
        new Scanner(System.in).nextLine();
    } finally {

    }
}

Мой REST-контроллер выглядит так:

@Path("modules")
@ApplicationScoped
@Produces("application/json")
public class MyApplication {
...
    @GET
    public List<Module> getModules() {
        return modules;
    }
}

Файл POM Maven содержит плагин, как показано ниже:

<build>
    <resources>
        <resource>
            <directory>${frontend.base}</directory>
        </resource>
    </resources>
    <plugins>
        <plugin>
        <groupId>org.apache.meecrowave</groupId>
        <artifactId>meecrowave-maven-plugin</artifactId>
        <version>${mw.version}</version>
        <configuration>
        <httpPort>8082</httpPort>
        <webResourceCached>false</webResourceCached>
        <webapp>${frontend.base}/www</webapp>
        </configuration>
        </plugin>
    </plugins>
</build>

Я ожидаю, что смогу просматривать мои файлы HTML: http://localhost:8082/

Я ожидал, что смогу просматривать мои ресурсы Java REST: http://localhost:8082/modules

1 Ответ

0 голосов
/ 13 марта 2019

По умолчанию приложение jaxrs связано с / *, поэтому для перекрытия с ресурсами попробуйте добавить @ApplicationPath ("/ api") или около того, чтобы поместить ваши конечные точки отдыха в подконтекст api, и это должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...