当前位置: 首页 > 面试题库 >

Spring和HTTP选项请求

乐正浩宕
2023-03-14
问题内容

作为此问题的后续,我想知道如何在Spring 3
MVC应用程序中处理OPTIONS请求。我不想在我的spring代码中为每个端点编写一个选项处理方法。但是建议的将选项处理程序映射到“ /
**”仅适用于尚未具有处理程序的端点。

因此,我想到了使用mvc拦截器来拦截OPTIONS请求以处理跨站点访问的问题。但我无法想象这是做到这一点的最佳方法。是否还有其他选项,例如在同一路径上具有不同请求方法的多个处理程序?我的感觉告诉我这应该确实有效..(但事实并非如此!!!)


问题答案:

看来对Spring
4(Maybe)
设置了对本机的Spring支持。

但是与此同时,我实现了以下内容:

使用Maven(或手动)拉入此依赖关系:

<dependency>
    <groupId>com.thetransactioncompany</groupId>
    <artifactId>cors-filter</artifactId>
    <version>1.3.2</version>
</dependency>

它具有捕获所有入站OPTIONS请求的实现。在web.xml文件中添加以下配置:

<filter>
   <filter-name>CORS</filter-name>
   <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>       
   <init-param>
      <param-name>cors.supportedHeaders</param-name>
      <param-value>Content-Type,Accept,Origin</param-value>
   </init-param>
</filter>

<filter-mapping>
   <filter-name>CORS</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>

我在/ **方法中看到的问题是,更具体的Controller实现将覆盖此问题。



 类似资料:
  • 我目前对tslint有意见,希望有人能给我指出正确的方向。 我正在尝试使用Angular2框架提供的HTTP发送HTTP GET请求。对于这个请求,我必须指定内容类型和承载身份验证令牌。 我的代码示例: 然而,tslint抱怨说 “TS2345:类型为{headers:headers;}的参数”不可分配给“RequestOptionsArgs”类型的参数。属性“headers”的类型不兼容。类型“

  • 首先,我阅读了“如何使用Spring MVC处理HTTP选项?”但答案似乎并不直接适用于Spring Boot。 看起来我应该这么做: 通过将dispatcherServlet的设置为 但是,考虑到我的代码中没有XML配置,也没有任何种类的初始化器类(在这个答案中提到),如何做到这一点呢? 在一个类中,我有一个这样的方法,它目前没有被调用。 Spring靴1.2.7。释放一个简单的设置与Sprin

  • 我阅读了很多关于这个问题的线程和解决方案(包括这个SO解决方案),但在发送预飞行请求时仍然有403错误。 我使用的是Spring Data Rest,只要没有发送选项,我就可以很好地处理我的存储库。我还没有使用Spring Security,但我计划很快配置它。以下是我当前的配置:

  • 我向asp提出以下请求。net web api的PUT方法从我的角度。js客户端: 但是得到以下错误(在小提琴手): 这是我的asp的一部分。net web api web。配置文件: 数据控制器web api: 这是我的问题:为什么我得到的错误(见上文),当我在fiddler(作品)和angularClient(不工作)完全相同的请求?

  • 我正在尝试为我的angular应用程序启用oauth2令牌提取。我的配置工作正常(身份验证对所有请求都正常工作,令牌提取也正常工作),但有一个问题。 角度请求:

  • 我是AngularJS的新手。我正在使用AngularJS 1.3.15版本。当我尝试使用PUT方法调用api时,它正在生成OPTIONS请求。我不知道我在哪里做错了。我尝试了很多Stockoverflow中建议的方法,但仍然没有得到任何东西。请帮助我解决这个问题。下面是我的控制器、模型、html文件和Chrome开发人员工具网络活动截图。 控制器文件users.js 模型文件-users.js