猿问

“缺少请求标头”在生产上的 Spring 引导控制器中出现异常,而不是在本地服务器上

我在生产env上得到以下错误,但应用程序在本地系统上工作。


"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);

        }

    }


拉丁的传说
浏览 109回答 3
3回答

犯罪嫌疑人X

在您的请求中包含 HttpServlet响应。这将在运行时设置标头。例如:@RequestMapping(value = "/login")     public String hello(@RequestHeader(value="LIB_AUTH_TOKEN") String token, HttpServletResponse aResponse)

心有法竹

执行: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;@RestControllerpublic 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;@RestControllerpublic class HelloController {    @RequestMapping(value = "/login", method = RequestMethod.POST)    public String hello(@RequestHeader(value="LIB_AUTH_TOKEN") String token){        System.out.println(token);        return "hi";    }}

慕码人2483693

我有类似的问题,但在我的情况下,我希望它是可选的。问题是,默认情况下,@RequestHeader的 require 属性为 true(我假设它在默认情况下为 false)希望这将节省某人的时间!
随时随地看视频慕课网APP

相关分类

Java
我要回答