axios请求SpringBoot数据接口

本文档展示了如何在SpringBoot应用中配置CORS,以允许axios进行跨域请求。通过创建CorsConfig类并设置允许任何来源、头和方法,实现了全局跨域配置。同时,提供了POST和GET请求的接口示例,并给出了axios调用这些接口的示例代码。
摘要由CSDN通过智能技术生成

axios访问SpringBoot的接口需要跨域,故需要在SpringBoot添加CORS配置。

package com.example.util;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;

/**配置全局跨域
 * @author SMILE
 */
@Configuration
public class CorsConfig {
    private CorsConfiguration buildConfig() {
        System.out.println("跨域配置。。。");
        CorsConfiguration corsConfiguration = new  CorsConfiguration();
        corsConfiguration.addAllowedOrigin("*"); // 1允许任何域名使用
        corsConfiguration.addAllowedHeader("*"); // 2允许任何头
        corsConfiguration.addAllowedMethod("*"); // 3允许任何方法(post、get等)
        return corsConfiguration;
    }

    @Bean
    public CorsFilter corsFilter() {
        System.out.println("启动跨域方法。。。。。");
        UrlBasedCorsConfigurationSource source = new  UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", buildConfig());  // 4
        return new CorsFilter(source);
    }
}

请求接口

@RestController
public class AxiosController {

//    @ResponseBody用在方法上
//    方法的返回值不再表示view视图页面,而是把返回值直接作为响应结果显示在浏览器上
//    @RequestBody用在方法参数上
//    把请求参数编码方式为application/json的对象,转换成一个bean对象
    @PostMapping("/axios")
    public Role postAxios(@RequestBody Role role){
        System.out.println(role);
        return role;
    }

    @GetMapping("/axios")
    public Role getAxios(Role role){
        System.out.println(role);
        return role;
    }
}

发送post请求

axios({
    method: 'post',
    url: 'http://localhost:8083/axios',
    data: {
        rId:4,
        rName:'小红'
    }
}).then(res=>{
    console.log(res.data);
}).catch(err=>{
    console.log(err);
})

发送get请求

axios({
      method: 'get',//不写此参数默认为get
      url: 'http://localhost:8083/axios',
      params: {
          rId:4,
          rName:'小红'
      }
  }).then(res=>{
      console.log(res.data);
  }).catch(err=>{
      console.log(err);
  })
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值