使用@RestController时如何设置Access-Control-Allow-Origin?

时间:2018-09-11 10:57:19

标签: java spring http header response

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

我的RestController:

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的响应呢?

1 个答案:

答案 0 :(得分:0)

尝试以下代码:

  @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);
}