Встроенный файл javascript не отображается Spring Boot - PullRequest
0 голосов
/ 29 января 2020

Я бы хотел вернуть страницу html со встроенным файлом js с контроллера. Я почему-то получаю только имя файла, а не его содержимое. Я не хочу использовать никаких шаблонных движков, таких как Thymeleaf. Может кто-нибудь объяснить, как это исправить?

Это мой контроллер:

@RestController
public class ScraperController {

    @GetMapping("/home")
    public String home() {
        return "home";

    }

Подобный вопрос задавался ранее, но ни одно из предложенных решений не помогло мне. Я пытался:

  • Размещение html файлов в ресурсах / шаблонах /
  • Замена @RestController на @ Controller

    приводит к ошибке Круглое представление path [test]: снова отправит обратно к текущему URL-адресу обработчика [/ some / path / test]. Проверьте настройки ViewResolver! (Подсказка: это может быть результатом неопределенного представления из-за генерации имени представления по умолчанию.)

  • возвращение имени файла с расширением html и без него из контроллера
  • Включая определенные зависимости (см. Ниже).

Поскольку проект является совершенно новым, я предполагаю, что преобразователей представлений нет. Если я переместу страницы html обратно на stati c, а затем вызову, например, http://localhost: 8080 / home. html, страница отобразится.

Мои зависимости являются:

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>
    </dependencies>

Структура моего проекта выглядит следующим образом:

test └── src | ├── main | │ ├── java | │ │ └── com | │ │ └── example | └── scraper | │ │ └── ScraperApplication.java | │ │ └── ScraperController.java | │ └── resources | │ └── static | │ └── js | │ └── home.js | │ └── templates | │ └── application.properties | │ └── home.html | └── test | └── java | └── com | └── example | └── scraper | └── ScraperApplicationTests.java ├──── pom.xml

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