Spring和HTTP请求的选项(Spring and HTTP Options request)

2019-06-25 14:02发布

作为对这个跟进的问题 ,我想知道如何处理在春季3 MVC应用程序OPTIONS请求。 我不想写在我的春天代码的每个端点的选项处理法。 但是,期权处理程序的建议映射“/ **”只适用于它没有一个处理程序已经终结点....

所以,我想过使用MVC拦截器拦截OPTIONS请求来处理跨站点访问的东西。 但我不能想象这是做到这一点的最好办法。 是否有任何其他选项,例如具有相同路径上的不同请求的方法的多个处理程序? 我的感觉告诉我,这应该实际工作。(但事实并非如此)!?

Answer 1:

它看起来像这种原生Spring支持设置为春4(也许) 。

然而在此期间,我实现了以下内容:

使用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>

我见过用/ **方法的问题是更具体的控制器实现将其覆盖。



文章来源: Spring and HTTP Options request
标签: java spring http