Springboot Restcontroller отказывается работать - PullRequest
0 голосов
/ 24 апреля 2018

Последние 2 часа я потратил на то, чтобы понять, что, во имя бога, происходит с моим простым приложением для отдыха Springboot.

Неважно, что я делаю, я просто не могу заставить работать restcontroller, каждый URL, который я пробую, дает мне 404. Вот мой код ниже.

    @RestController 
    public class PbxPortalRestControllerSet {

     @RequestMapping("/testMe")
     public String testMe()
     {
      return "I am alive";
     }
   }



    @SpringBootApplication
    public class PbxPortalApplication {

    public static void main(String[] args) {
    SpringApplication.run(PbxPortalApplication.class, args);
     }
}
 Application.properties file
 server.port = 8088

Кто-нибудь может сказать, что, черт возьми, происходит?Я делал это много раз прежде, но я не могу понять, почему это отказывается работать.

Я пытаюсь перейти на localhost: 8088 / testMe, и я получаю 404.

Ответы [ 4 ]

0 голосов
/ 24 апреля 2018

Похоже, что вы разместили на своем контроллере другой подпакет, чем файл SpringApplication. Таким образом, контроллер недоступен из Spring main () Пожалуйста, добавьте

@SpringBootApplication
@ComponentScan("ControllersPackege")

CodeSnipet: SpringBootApplication

@SpringBootApplication
@ComponentScan("ControllerPackege")
public class PbxPortalApplication {

public static void main(String[] args) {
    SpringApplication.run(PbxPortalApplication.class, args);
    }
}

CodeSnipet: Контроллер

@RestController 
public class PbxPortalRestControllerSet {

@RequestMapping("/testMe")
     public String testMe()
     {
      return "I am alive";
     }
}

файл application.properties

server.port = 8088

Примечание: Лучший способ поместить в тот же пакет или поместить класс контроллера в подпакет

0 голосов
/ 24 апреля 2018

Я нашел проблему. Я использовал неправильную запись POM. Я как-то использовал джерси вместо встроенных весенних. По какой-то причине, хотя я использовал не ту библиотеку, затмение говорило мне, что мои записи аннотаций были в полном порядке. Как только я удалил запись для Джерси, все заработало

0 голосов
/ 24 апреля 2018
@RestController
public class DemoController {

    @GetMapping(value= "/getName")
    public String getName(){
        return "This is a Spring Boot Application";
    }
}

Основной класс прост:

package com.pcftest.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

Можете ли вы попробовать это один раз ??И посмотрите, работает ли он ..

@RequestMapping(value= "/testMe" , method = RequestMethod.GET)

В основном иногда, когда вы не предоставляете тип метода запроса, вы получаете такие типы ошибок

0 голосов
/ 24 апреля 2018

Если классы PbxPortalApplication и PbxPortalApplication находятся в разных пакетах, вы должны указать приложению сканировать контроллер во время загрузки контекста приложения.

Добавьте @ComponentScan к вашему PbxPortalApplication классу

@SpringBootApplication
@ComponentScan(basePackageClasses = PbxPortalRestControllerSet.class)
public class PbxPortalApplication
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...