bootoption没有启动项_javacontinue的用法

bootoption没有启动项_javacontinue的用法一、现象从fetch说起,用fetch构造一个POST请求。1fetch(‘http://127.0.0.1:8000/api/login’,{2method:”POST”,3headers:({4’Content-Type’:’application/x-www-form-urlencoded’5}),6body:”name=”+name…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

一、现象

从fetch说起,用fetch构造一个POST请求。

1 fetch(‘http://127.0.0.1:8000/api/login’, {2 method: “POST”,3 headers: ({4 ‘Content-Type’: ‘application/x-www-form-urlencoded’

5 }),6 body: “name=” + name + “&password=” +pwd7 }).then((res) = >{8 console.log(res.status);9 returnres.json()10 }).then((data) = >{11 //console.log(data.result)

12 let loginResult =data.result13 if (loginResult == ‘ok’) {14 dispatch(getSuccess(data.list)) browserHistory.push(‘/index’)15 } else{16 console.log(“illegal login in !”)17 }18 }).19 catch((e) = >{20 console.log(e.message)21 })

调用的API服务是Spring boot开发的。

这个POST发出去,一切正常。

由于业务需要,我增加一个头字段:Authorization。

fetch请求的代码修改如下:

1 …2

3 headers: ({4 ‘Content-Type’: ‘application/x-www-form-urlencoded’,5 ‘Authorization’: ‘1111111222’

6 }),7 body: “name=” + name + “&password=” +pwd8 }).then((res) = >{9

10 …

问题出现了,服务器收到一个OPTIONS请求?!

二、原因

这是fetch出于安全性考虑做的一次服务器预查询,而我的服务没有做相应的处理,所以业务处理失败了。

三、解决

方法一:

网上查到的最多的说法就是:

在application.properties文件中增加这一行配置:

spring.mvc.dispatch-options-request=true

遗憾的是,我的环境配置没有生效。

方法二:

手动写一个Filter:

0 @Component

1 public classCorsFilter implements Filter {2 @Override3 public voidinit(FilterConfig filterConfig) throws ServletException {4 //TODO Auto-generated method stub

5 }6

7 @Override8 public voiddoFilter(ServletRequest req, ServletResponse res,9 FilterChain chain) throws IOException, ServletException {10 HttpServletResponse response =(HttpServletResponse) res;11 response.setHeader(“Access-Control-Allow-Origin”, “*”);12 response.setHeader(“Access-Control-Allow-Methods”,13 “POST, GET, OPTIONS, DELETE”);14 response.setHeader(“Access-Control-Max-Age”, “3600”);15 response.setHeader(“Access-Control-Allow-Headers”,16 “Content-Type, x-requested-with, X-Custom-Header, Authorization”);17 chain.doFilter(req, res);18 }19

20 @Override21 public voiddestroy() {22 //TODO Auto-generated method stub

23 }24 }

一点说明:

response.setHeader(“Access-Control-Allow-Headers”, “Content-Type, x-requested-with, X-Custom-Header, Authorization”);

配置中的Authorization是和请求中自定义的头部字段是一样的。

通过这个过滤器,fetch后续的POST请求就可以顺利的发出了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226207.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java数组去重方法是,java数组去重的两种方法

    java数组去重方法是,java数组去重的两种方法我们对于数组元素的使用,有时候在创建数组的初期,并没有考虑过元素的重复问题。当我们想要不重复元素的数组时,就要再进行一步去重的工作。数组的去重有两种方法可以实现,一个是循环比较,另一个是hashSet的集合方法。下面我们就这两种Java数组去重的方法带来详解。1、循环比较循环对比每个元素的值是否一致,这个就不过多去介绍,主要是第2种方法2、利用hashSet去重hashSet是一个没有重复元素的集…

    2022年6月22日
    76
  • SpringBoot 自动配置原理[通俗易懂]

    SpringBoot 自动配置原理[通俗易懂]创建项目通过SpringInitialize创建SpringBoot项目而接下来要说的是关于配置文件的事情。关乎配置文件可以参考官方文档。对于配置文件来说到底在配置文件里面可以进行配置那些内容,自动配置的原理又是什么东西呢?自动配置原理在SpringBoot启动的时候加载主配置类,开启了自动配置的功能,通过@EnableAutoConfiguration注解开启自动配置的功能。@Im…

    2022年6月17日
    24
  • RestTemplate post请求返回状态码415「建议收藏」

    RestTemplate post请求返回状态码415「建议收藏」背景:跨模块通过post请求调用指定接口,返回415415状态码解释:UnsupportedMediaType对于当前请求的方法和所请求的资源,请求中提交的实体并不是服务器中所支持的格式,因此请求被拒绝错误日志:org.springframework.web.client.HttpClientErrorException:415nullatorg.springf…

    2022年5月15日
    167
  • Stm32的GPIO驱动继电器[通俗易懂]

    Stm32的GPIO驱动继电器[通俗易懂]三极管三极管S8050-D:直插的字体面向自己从左到右依次是发射极E,基极B,集电极C类型:NPN集电极耗散功率Pc:0.625W(贴片:0.3W)集电极电流Ic:0.5A集电极-基极电压Vcbo:40V集电极-发射极电压Vceo:25V集电极-发射极饱和电压Vce(sat):0.6V特征频率f:最小150MHz按三极管后缀号分为BCD档贴片为LH档放大倍数:B85-160C120-200D160-300L100-200H200-350上图中,左边的GPIO

    2022年6月24日
    121
  • jdk1.7 hashmap扩容_Java并发实现原理:JDK源码剖析

    jdk1.7 hashmap扩容_Java并发实现原理:JDK源码剖析HashMap简介:HashMap在底层数据结构上采用了数组+链表+红黑树,通过散列映射来存储键值对数据因为在查询上使用散列码(通过键生成一个数字作为数组下标,这个数字就是hashcode)所以在查询上的访问速度比较快,HashMap最多允许一对键值对的Key为Null,允许多对键值对的value为Null。它是非线程安全的。在排序上面是无序的。HashMap的主要成员变量…

    2022年9月21日
    3
  • Java基础算法详解

    Java基础算法详解查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中。因为其实现代码较短,应用较常见。所以在面试中经常会问到排序算法及其相关的问题。但万变不离其宗,只要熟悉了思想,灵活运用也不是难事。一般在面试中最常考的是快速排序和归并排序,并且经常有面试官要求现场写出这两种排序的代码。对这两种排序的代码一定要信手拈来才行。还有插入排序、冒泡排序、堆排序、基数排序、桶排序等。面试官对于这些排序可能会…

    2022年7月8日
    18

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号