Контроллер не может быть доступен через браузер - PullRequest
0 голосов
/ 18 декабря 2018

Я получил этот случай: когда я выполняю http://localhost:8080/customer/system/ipaddr, который должен получить доступ к методу в контроллере, я получаю это сообщение об ошибке:

Это приложение не имеет явного сопоставления для / error, поэтому вырассматривая это как запасной вариант.

Я получил очень похожую структуру для других классов, где она работает без каких-либо проблем.Ищите ошибку в течение некоторого времени, и я понятия не имею, почему она не работает ..

Если вам нужна дополнительная информация, просто дайте мне знать.

Контроллер:

@Controller
@RequestMapping(CUSTOMER_SERVICE)
public class CustomerController {

    private CustomerProviderComponent customerProviderComponent;
    private CartRequestComponent cartRequestComponent;

    @Autowired
    public CustomerController(CustomerProviderComponent customerProviderComponent, CartRequestComponent cartRequestComponent) {
        this.customerProviderComponent = checkNotNull(customerProviderComponent);
        this.cartRequestComponent = checkNotNull(cartRequestComponent);
    }

    @ResponseBody
    @GetMapping(GET_IP_ADDR)
    public String getIpAddr() {
        List<String> response;
        response = runSystemCommandAndGetResponse(IP_ADDR);
        return new Gson().toJson(response);
    }

Константы:

public static final String CUSTOMER_SERVICE = "/customer";
public static final String GET_IP_ADDR = "/system/ipaddr";

Ответы [ 3 ]

0 голосов
/ 18 декабря 2018

Хорошо, мне очень жаль.Проблема была в другом.Я развертываю эти приложения в кластере kubernetes.В сценарии развертывания я просто вытащил неправильный образ из док-станции из-за большого количества копий / вставок.

Итак, ошибка была в этой строке в сценарии развертывания: image: myrepo/articleservice:1.0.4

Добавление image: myrepo/catalogservice:1.0.4 чтобы сценарий развертывания решил проблему.

Хуже всего было то, что у меня не было журналов ошибок, но @Praveen E снова заставил меня присмотреться, так что спасибо!

0 голосов
/ 18 декабря 2018

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

0 голосов
/ 18 декабря 2018

Я не вижу контекст вашего приложения по этой ссылке:

http://localhost:8080/customer/system/ipaddr

Обычно у вас будет что-то вроде этого:

http://localhost:8080/MYAPP/customer/system/ipaddr

Если вы не развертываете свое приложение в корнесервер.

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