问题Cors:请求的资源上不存在“Access-Control-Allow-Origin”标头[关闭]

Posted

技术标签:

【中文标题】问题Cors:请求的资源上不存在“Access-Control-Allow-Origin”标头[关闭]【英文标题】:Problem Cors: No 'Access-Control-Allow-Origin' header is present on the requested resource [closed] 【发布时间】:2021-07-15 14:25:27 【问题描述】:

我无法解决此错误;我添加了 @CrossOrigin(origins="http://localhost:4200") 但错误仍然存​​在。

RestAPIController.java

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


(origins = "http://localhost:4200") 
@RestController
@RequestMapping("/api/customer")
public class RestAPIController 
    
    @Autowired
    CustomerServices customerServices;
    
    @PostMapping("/create")
    public ResponseEntity<Message> addNewCustomer(@RequestBody Customer customer) 
        try 
            Customer returnedCustomer = customerServices.saveCustomer(customer);
            
            return new ResponseEntity<Message>(new Message("Upload Successfully!", 
                                            Arrays.asList(returnedCustomer), ""), HttpStatus.OK);
        catch(Exception e) 
            return new ResponseEntity<Message>(new Message("Fail to post a new Customer!", 
                                            null, e.getMessage()), HttpStatus.INTERNAL_SERVER_ERROR);           
        
    
    .
    .
    .
    .
    

你建议我怎么做?谢谢

我已经尝试了各种方式,我在这个网站上找到并尝试了几个示例,但问题仍然存在。

【问题讨论】:

这能回答你的问题吗? Spring CORS No 'Access-Control-Allow-Origin' header is present 同样的问题已经得到解答。 Please take a look at it here 我已经尝试了各种方式,我在这里尝试了几个示例,但问题仍然存在。否则我不会问这个问题 【参考方案1】:

这是一个老问题。

您应该在扩展 WebMvcConfigurer 的 Config 类中添加此覆盖方法

        registry.addMapping("/**")
                .allowCredentials(true)
                .allowedHeaders("*")
                .allowedMethods("*")
                .allowedOrigins("http://localhost:3000")
                .maxAge(3600);
   

【讨论】:

我已经尝试了各种方式,我在这里尝试了几个示例,但问题仍然存在。否则我不会问这个问题 还在 SecurityConfig 中添加 http.cors()。如果还是不行。只需在此处推送指向源代码的链接。也许有人可以帮忙。

以上是关于问题Cors:请求的资源上不存在“Access-Control-Allow-Origin”标头[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

请求的资源上不存在“Access-Control-Allow-Origin”标头 - CORS 问题 [重复]

问题Cors:请求的资源上不存在“Access-Control-Allow-Origin”标头[关闭]

CORS 问题 - 请求的资源上不存在“Access-Control-Allow-Origin”标头

CORS 问题 - 请求的资源上不存在“Access-Control-Allow-Origin”标头

React - CORS 问题请求的资源上不存在“Access-Control-Allow-Origin”标头

Axios 请求已被 cors 阻止,请求的资源上不存在“Access-Control-Allow-Origin”标头