当为所有站点打开WebService时,返回“缺少Access-Control-Allow-Origin CORS标头”

时间:2019-01-25 05:34:11

标签: spring spring-mvc cors

我的API中的CORS出现问题。 对于某些我的Web服务,我收到“缺少CORS标头'Access-Control-Allow-Origin'的消息”,但不是所有消息。

我以为我已使用以下代码修复了所有Web服务的CORS问题(到目前为止,它工作得很好):

@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                    .allowedOrigins("*");
    }
}

例如,这可以正常工作:

@RestController
@RequestMapping("/data/{objectId}")
@CrossOrigin(origins = "*")
public class DataController {

  @GetMapping(value = "/all/{language}", produces={"application/json; charset=UTF-8"})
  public String getAll(@PathVariable String objectId, @PathVariable String language) {
   return myClass.sendJson(objectId, language);
  }

}

不这样做的时候

@RestController
@RequestMapping("/issuer/{issuerAddress}")
@CrossOrigin(origins = "*")
public class IssuerController {

  @GetMapping(value = "/template/{templateId}/csv")
  public String getCsvHeader(@PathVariable String issuerAddress, @PathVariable String templateId) {
    return myOtherClass.getCsvHeader(issuerAddress, templateId, "en");
  }

}

第一个使用此URL调用

http://localhost:8080/data/1234567/all

第二个是一个:

http://localhost:8080/issuer/456789/templates/0x03

我没有在电话中添加任何标题。对我来说,两个电话应该是相同的,我看不到这里缺少什么。...

1 个答案:

答案 0 :(得分:0)

好的,PEBKAC就这个。 第二通电话不正确。...