首页 > 解决方案 > 使用@RestController时如何设置Access-Control-Allow-Origin?

问题描述

我正在使用 @RestController 来提供 REST 服务。但我需要在响应头中设置 Access-Control-Allow-Origin。我该怎么做?

我的休息控制器:

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

@RestController
public class restController  {

   @RequestMapping("/some")
   public Response some(@RequestParam(value="body")  String user) {
      return new Response(user);
   }
}

我的回复:

public class Response {

  long id;
  String user;

  public Response(String user) {
       this.id = 7;
       this.user = user;
  }
}

@RestController 工作得很好,但是如何修改它或设置 Access-Control-Allow-Origin 的响应?

标签: javaspringhttpheaderresponse

解决方案


试试这个代码:

  @CrossOrigin(origins = "*")
   @RequestMapping("/some")
   public Response some(@RequestParam(value="body")  String user) {
      return new Response(user);
   }

或这个

@RequestMapping("/some")
public Response some(@RequestParam(value="body")  String user,HttpServletResponse 
response) {
   response.addHeader("Access-Control-Allow-Origin", "*");
   return new Response(user);
}

推荐阅读