Проверка URL контроллера загрузки Spring - PullRequest
0 голосов
/ 25 апреля 2020

У меня есть контроллер отображения Sprint, как показано ниже.

@GetMapping("/hello/{name}/age")
    private String hello(@PathVariable(value = "name", required = true) String name){
        //...
    }

   @GetMapping("/hello/{name}")
    private String hello(@PathVariable(value = "name", required = true) String name){
        //...
    }

    @GetMapping("/name")
    private ResponseEntity<?> queryPerson(@RequestParam(value = "query", required = false) String query) {
        // ...
    }

Но клиент может обработать следующий случай

, когда клиент отправляет / hello / john / age , я должен вернуть pojo, связанный с возрастом, но когда клиент звонит / hello // age Я должен вернуть 400 с неверным именем пользователя в качестве ошибки.

Так как я мой код, у меня уже есть другое отображение hello / {name}, поэтому он вызывает это API и пытается найти username = 'age' и возвращает 404.

Здесь я полагаю, что 400, когда пользователь звонит / hello // age, так как это сделать весной?

1 Ответ

1 голос
/ 25 апреля 2020

Не будет никакого шанса создать 400.

Tomcat сворачивает двойную косую черту:

http://mail-archives.apache.org/mod_mbox/tomcat-users/201912.mbox/%3C5DEE18E4.4080902@ice-sa.com%3E

...