不同的操作,是通过不同方法好呢,还是一个方法不同参数判断好呢?(Springboot项目)

第一种:

    @RequestMapping("/methods1")
    public String methods1(){
        return "methods1";
    }

    @RequestMapping("/methods2")
    public String methods2(){
        return "methods2";
    }

第二种:

@RequestMapping("/method")
    public String method(@RequestParam String params){
        JSONObject json = JSONObject.parseObject(params);
        String method = json.getString("method");
        String str = "";
        switch (method){
            case "method1":
                str = "method1";
                break;
            case "method2":
                str = "method2";
                break;
            default:
        }
        return str;
    }

哪一种更好一点?各有什么优缺点呢?大家平时开发使用什么方法呢?

 

 

我的个人见解:

第一种在方法很多时稍麻烦些,需要写很多的方法,但是条理清晰,如果每个接口地址都要开通防火墙等就更麻烦了。

第二种在方法多,很多参数可以公共使用时更为方便,但是条理不清晰,而且一个方法过于长了。

希望听听大家的意见。

一般来说,当然是第一种好,单一职责,高内聚,低偶合,符合软件设计思想;但是像你这种一个接口需要再开个防火墙的映射确实麻烦,可以统一入口,然后内部使用策略模式做分流