在发布请求中发送授权标头

时间:2020-05-23 06:44:18

标签: javascript ajax spring-boot

我想在发布请求中将我的JWT令牌发送到我的spring boot应用程序。

 $.ajax({
    type: "POST",
    contentType: "application/json",
    url: cartUrl,
    data: JSON.stringify(purchase),
    dataType: 'json',
    header: {
        'Authorization': token
    },
    success: function (data) {
        console.log(JSON.stringify(data));
        if (data['status'] == "success") {
            var content = data.successResponse;
            $('#quick-cart').modal('toggle');
            //$(".mini-cart").toggleClass('active');
            cartPopulate(content.purchases)
        } else if (data['status'] == 'error') {

        }
    },
    error: function (e) {

    }
});

下面是我的spring boot controller方法

 @PostMapping(value = {"/business/{businessId}/cart", 
  "/business/{businessId}/cart/{cartId}"},
        produces = MediaType.APPLICATION_JSON_VALUE,
        consumes = MediaType.APPLICATION_JSON_VALUE)
 @ResponseBody
 protected Object addItemToCart(
                               @PathVariable String businessId,
                               @RequestHeader(name = "Authorization", required = true) String token,
                               @RequestBody Purchase purchase,
                               @PathVariable(required = false) String cartId,
                               HttpServletRequest request) {

    ResponseEntity<ShoppingCart> updatedCart = cartService.addItemToCart(businessId, token, purchase);
    ResponseContainer response = new ResponseContainer("success", updatedCart.getBody());

    return response;
}

我收到此错误 “解决了[org.springframework.web.bind.MissingRequestHeaderException:缺少字符串类型的方法参数的请求标头'Authorization'”。 有什么建议吗?

0 个答案:

没有答案