gpt4 book ai didi

java - 如何在 swaggaer4spring-web 中设置发送按钮的操作 url?

转载 作者:行者123 更新时间:2023-12-01 11:21:17 25 4
gpt4 key购买 nike

我正在使用swagger4spring-web 。我很好地应用了我的应用程序。效果很好。但是如果我将此 Web 应用程序加载到其他服务器,则会出现 CORS 问题。

从我的应用程序加载 api,效果很好。如果我按下测试按钮“尝试一下”,它就会失败,因为它默认设置“localhost”。

我想设置“尝试一下”按钮的操作网址。

我该如何解决这个问题?我想把这个url改成真实的ip地址。

最佳答案

为了使用 Spring RESTful 应用程序修复 CORS 问题,请查看 this tutorial 。简而言之,创建以下类并在您的应用程序中使用它:

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Component;

@Component
public class SimpleCORSFilter implements Filter {
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
chain.doFilter(req, res);
}
public void init(FilterConfig filterConfig) {}
public void destroy() {}
}

关于 swagger4spring-web :如果你看 this example code ,这个类继承自 ApiDocumentationController最后一个提供了一个名为 setBasePath() 的方法,用它来设置 swagger-api 的 basePath:

@Controller
@RequestMapping(value = "/documentation")
public class ExampleDocumentationController extends ApiDocumentationController {
public ExampleDocumentationController() {
...
setBasePath("http://www.youraddress.com");
...
}
}

您还可以设置本地IP地址(固定值或动态值)。

关于java - 如何在 swaggaer4spring-web 中设置发送按钮的操作 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31201344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com