当前位置:编程学习 > JAVA >>

使用forward实现API接口转发

在做一个API项目的时候,跟同事讨论使用哪种形式的接口名称更合适,备选的方案有两种:
 
最后我们选择第2种,但底层还是第1种,所以两咱方式都是可以正常访问的,提供给调用方的是第2咱形式,这样就只要使用forward做下转发就行了,具体代码如下:
[java] v 
@ResponseBody  
@RequestMapping(value="/openapi")  
public String index(HttpServletRequest request, HttpServletResponse response) {  
    //获取参数  
    String apiName = request.getParameter("api");  
    String version = request.getParameter("v");  
      
    //设置默认API名称  
    if (StringUtils.isEmpty(apiName)) {  
        apiName = "demo.hello";  
    }  
      
    //替换API名称中的.号为/  
    apiName = StringUtils.replace(apiName, ".", "/");  
      
    //设置默认版本号  
    if (StringUtils.isEmpty(version)) {  
        version = "1";  
    }  
      
    //转发接口  
    try {  
        request.getRequestDispatcher("/openapi/v"+version+"/"+apiName).forward(request, response);  
    } catch (Exception e) {  
        //TODO log  
        //TODO return error message  
          
    }  
    return null;  
}  
 
这样就ok了,原来的具体controller不用做任何改动。
补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,