开发者社区> 问答> 正文

SpringMVC,Restful请求方式:报错

 


如下的代码:能正常访问各自的方法

/**
     * 获取管理处信息
     *
     * @return
     */
    @RequestMapping({"/getManagementOfficeList"})
    public List<ManagementOffice> getManagementOfficeList() {
        return managementOfficeServiceImpl.findAll();
    }

    /**
     * 获取管理处信息
     *
     * @return
     */
    @RequestMapping({"/getManagementOfficeList/{version}"})
    public List<ManagementOffice> getManagementOfficeList(@PathVariable final String version{
        return managementOfficeServiceImpl.findList(null, null, new ArrayList<Filter>() {{
            add(Filter.eq("version", version));
        }}, null);
    }


现在我想同一方法,同时支持两种请求方式

/getManagementOfficeList

/getManagementOfficeList/123123

@RequestMapping({"/getManagementOfficeList", "/getManagementOfficeList/{version}"})
    public List<ManagementOffice> getManagementOfficeList(@PathVariable final String version) {
        if (StringUtil.isBlank(version)) {
            return managementOfficeServiceImpl.findAll();
        } else {
            return managementOfficeServiceImpl.findList(null, null, new ArrayList<Filter>() {{
                add(Filter.eq("version", version));
            }}, null);
        }
    }


现在,如上的代码配置只有/getManagementOfficeList/123123这样的方式,才能拦截进入到方法...能有什么方法可以同时支持






展开
收起
kun坤 2020-06-14 08:04:32 565 0
1 条回答
写回答
取消 提交回答
  • 1、有必要纠结是否多一个方法?

    2、单一职责到哪去了?

    ######有强迫症,毕竟大部分执行逻辑相同的。
    2020-06-14 08:04:37
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多