前后端分离options请求报错

weixin_38316591 2018-12-13 05:03:42
项目用前后端分离的方式,前端采用ajax传值,后端也做了跨域请求的处理,但是每次的options请求都会报
2018-12-13 17:01:39.897 ERROR 4488 --- [nio-8050-exec-1] .w.i.g.WadlGeneratorJAXBGrammarGenerator : Failed to generate the schema for the JAX-B elements

com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions
at com.sun.xml.bind.v2.runtime.IllegalAnnotationsException$Builder.check(IllegalAnnotationsException.java:66) ~[jaxb-impl-2.1.jar:2.1]
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:405) ~[jaxb-impl-2.1.jar:2.1]
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:253) ~[jaxb-impl-2.1.jar:2.1]
at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:84) ~[jaxb-impl-2.1.jar:2.1]
at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:66) ~[jaxb-impl-2.1.jar:2.1]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_171]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_171]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_171]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_171]
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:247) ~[na:1.8.0_171]
这样的错误。
错误出来之后会回到正常的请求上去,并不影响请求的响应。
...全文
606 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
码匠笔记 2019-01-08
  • 打赏
  • 举报
回复
和上楼的意思一样,是因为跨域时候的预请求导致,所以怀疑你把所有请求都做了球球验证之类的,你可以考虑获取到 OPTIONS 做特殊处理。
参考地址
https://stackoverflow.com/questions/30362637/failed-to-generate-the-schema-for-the-jax-b-only-happens-during-cors-call-to-re

以后遇到这种问题可以直接 Google 错误码,解决速度会比 BBS 快速一些。

RUA好多鱼~ 2019-01-08
  • 打赏
  • 举报
回复
我的解决办法是,用一个过滤器或者拦截器,判断请求的类型是options,就把这个请求直接放行,不进行处理
RUA好多鱼~ 2019-01-08
  • 打赏
  • 举报
回复
跨域的时候,请求和平时不一样,比如书:平时你发一个post请求,那前端就只会发这个post请求,当你配置跨域之后,在发post请求前,会先发一个options请求,这个请求是不带有请求的各种信息的,目的只是浏览器用于判断请求能否成功送达

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧