后端如何解决跨域问题

为什么会产生跨域??

同一协议(http/https),同一ip,同一端口(8080/8081),三同中有一个不同就产生了跨域。

后端如何解决跨域问题?

方法一:新建跨域配置文件

@Configuration
public class CorsConfiguration {
    @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurer() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                registry.addMapping("/**")
                        .allowCredentials(false)
                        .allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE")
                        .allowedOrigins("*");
            }
        };
    }

}

方法二:使用注解

只用在Controller类上添加一个@CrossOrigin注解就可以实现对当前controller 的跨域 访问了,当然这个标签也可以加到方法上。

@RequestMapping(value = "/users")
@RestController
@CrossOrigin
public class UserController {
	
	@Autowired
	private UserService userService;

    @RequestMapping(method = RequestMethod.POST)
    @CrossOrigin
    public User create(@RequestBody @Validated User user) {
		return userService.create(user);
    }
   }


猜你喜欢

转载自blog.csdn.net/qq_44765534/article/details/126986668