天天看点

实用的功能-接口不限访问方法和路径序言一个接口如何实现n个路径访问 一个接口请求方式不限定

目录

序言

一个接口如何实现n个路径访问

编写controller方法

启动测试

原因解释

 一个接口请求方式不限定

编写controller

测试使用

原因解释

序言

好久不见大家,最近特别忙,所以接近两个月没有写博客,还有十来分钟上班,刚好这个空隙整理一下之前一个人问我的问题,如何给一个接口设置不同的路径

大致上就是说,有两个不同的调用方,要实现相同的功能,使用一个接口就行,但是接口规范全都是对方定的,这就意味着,一个功能,不同的调用方, 还要满足不同的路径,不同的请求方式,于是问题出现了,该怎么实现呢?

有的人可能会说,不就是一个接口么,我再写一个,调用同一个service就行了,是的,这种方法可行,但是如果这种接口出现的很多呢?是不是不合适

so,我们来看看怎么写到一起

其实使用方法很简单

一个接口如何实现n个路径访问

编写controller方法

@GetMapping(value = {"/url1", "/url2", "/url3"})
    public String testUrl(HttpServletRequest request) {
        System.out.println("rul request");
        return request.getRequestURI();
    }           

注意看我给vale的声明,还不是明白了该怎么写?

启动测试

实用的功能-接口不限访问方法和路径序言一个接口如何实现n个路径访问 一个接口请求方式不限定
实用的功能-接口不限访问方法和路径序言一个接口如何实现n个路径访问 一个接口请求方式不限定

 看,是不是就实现了一个接口,但是可以指定n个路径?

原因解释

我们来看看注解们大家就明白了

实用的功能-接口不限访问方法和路径序言一个接口如何实现n个路径访问 一个接口请求方式不限定
实用的功能-接口不限访问方法和路径序言一个接口如何实现n个路径访问 一个接口请求方式不限定

 看,全部都是数组的形式,所以啦,当然可以同事支持多个~ 

 一个接口请求方式不限定

说完了一个接口n个地址支持,我们接着来说一个接口,不管是get还是post都可以访问的方式

编写controller

其实很简单,我们把具体的请求方式换成@RequestMapping就行了

@RequestMapping(value = {"/url1", "/url2", "/url3"})
    public String testUrl(HttpServletRequest request) {
        System.out.println("rul request");
        return request.getRequestURI();
    }           

测试使用

实用的功能-接口不限访问方法和路径序言一个接口如何实现n个路径访问 一个接口请求方式不限定

看,是不是post也可以访问

原因解释

这么写当然不是我瞎编的,毕竟我们代码也写了,测试也测试了,都是ok的,至于为什么这么写,其实看一下 @RequestMapping 注解就知道了

实用的功能-接口不限访问方法和路径序言一个接口如何实现n个路径访问 一个接口请求方式不限定

看我打的断点的两个地方,看,一个是value,一个是 method,都是数组,说明可以多个值,是不是明白了,跟上面的 @GetMapping 一样其实

好了,本次的分享到此结束,很简单但是可能很实用的一个小用法~