我的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
我没有在电话中添加任何标题。对我来说,两个电话应该是相同的,我看不到这里缺少什么。...
答案 0 :(得分:0)
好的,PEBKAC就这个。 第二通电话不正确。...