gpt4 book ai didi

java - 请求的资源上不存在 'Access-Control-Allow-Origin' header 。错误

转载 作者:行者123 更新时间:2023-12-02 11:13:05 25 4
gpt4 key购买 nike

我在前端使用 Angular,在后端使用 Java Spring,但收到错误:请求的资源上不存在“Access-Control-Allow-Origin” header 。我确信 CORS 已启用。这是我的配置文件:

package com.aon04.backend.configuration;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
@EnableWebMvc
public class CorsConfiguration implements WebMvcConfigurer
{
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**");
}
}

它可以工作,我可以毫无问题地执行所有其他请求,但我的服务中的这个 PUT 请求给了我错误:

  updateExamById(id, exam: Examen): Observable<Examen> {
return this.http.put<Examen>(APIURL + '/update/' + id, {file: exam.file, name: exam.naam});
}

这是我的服务器端:

@PutMapping("/update/{id}")
public Exam UpdateExam(@RequestParam("file") MultipartFile file, @RequestParam("name") String name, @PathVariable("id") int id)
{
Exam newExam = new Exam();
newExam.setId(id);
newExam.setSkelet(file.getOriginalFilename());
newExam.setNaam(name);
newExam.setCreatedAt(LocalDateTime.now());
Exam exam2 = ExamFactory.update(newExam);
examRepository.save(exam2);
storageService.store(file);
return newExam;
}

最佳答案

无需添加此配置

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

只需在您的 Controller 类中的类级别或方法级别添加您想要的内容即可

@CrossOrigin(origins = "http://localhost:4200")

关于java - 请求的资源上不存在 'Access-Control-Allow-Origin' header 。错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50476965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com