3 回答

TA贡献2080条经验 获得超4个赞
在您的请求中包含 HttpServlet响应。这将在运行时设置标头。例如:
@RequestMapping(value = "/login") public String hello(@RequestHeader(value="LIB_AUTH_TOKEN") String token, HttpServletResponse aResponse)

TA贡献1866条经验 获得超5个赞
执行:
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";
}
}

TA贡献1860条经验 获得超9个赞
我有类似的问题,但在我的情况下,我希望它是可选的。问题是,默认情况下,@RequestHeader的 require 属性为 true(我假设它在默认情况下为 false)
希望这将节省某人的时间!
添加回答
举报