Исключение «отсутствует заголовок запроса» в загрузочном контроллере Spring на производстве, а не на локальном сервере - PullRequest
0 голосов
/ 02 апреля 2019

Я получаю ошибку ниже в производственной среде, но приложение работает в локальной системе.

"timestamp":"2019-04-02T10:10:26.362+0000","status":400,"error":"Bad Request","message":"Missing request header " on......

Я передаю ниже заголовок запроса из браузера:

LIB_AUTH_TOKEN: admin@gmail.com:admin



 @RestController
    public class HelloController {
    @RequestMapping(value = "/login")
    public String hello(@RequestHeader(value="LIB_AUTH_TOKEN") String token){

    System.out.println(token);
        }
    }

Ответы [ 2 ]

0 голосов
/ 02 апреля 2019

Выполнение:

curl -i -H "LIB_AUTH_TOKEN: test123" -X GET http://localhost:8080/login

Здесь нормально работает с POST и GET, просто добавьте ответ:

import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {


    @RequestMapping(value = "/login")
    public String hello(@RequestHeader(value="LIB_AUTH_TOKEN") String token){

        System.out.println(token);

        return "hi";
    }
}

Обновление

Указание метода HTTP:

import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @RequestMapping(value = "/login", method = RequestMethod.POST)
    public String hello(@RequestHeader(value="LIB_AUTH_TOKEN") String token){

        System.out.println(token);

        return "hi";
    }
}
0 голосов
/ 02 апреля 2019

Включите HttpServletResponse в ваш запрос.Это установит заголовок во время выполнения.например:

@RequestMapping(value = "/login")
    public String hello(@RequestHeader(value="LIB_AUTH_TOKEN") String token, HttpServletResponse aResponse)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...