Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SpringMVC getter setter最佳实践_Spring_Spring Mvc - Fatal编程技术网

SpringMVC getter setter最佳实践

SpringMVC getter setter最佳实践,spring,spring-mvc,Spring,Spring Mvc,我有以下代码,我正在用SpringMVC在PoC上执行 @RequestMapping(value = "/getUser", method = RequestMethod.GET) @ResponseBody public User data(Locale locale, Model model, User user) { logger.info("getUser controller loaded..."); return userService.getById(user.g

我有以下代码,我正在用SpringMVC在PoC上执行

@RequestMapping(value = "/getUser", method = RequestMethod.GET)
@ResponseBody
public User data(Locale locale, Model model, User user) {
    logger.info("getUser controller loaded...");
    return userService.getById(user.getId());

}

@RequestMapping(value = "/setUser", method = RequestMethod.GET)
@ResponseBody
public void data(Locale locale, Model model, User user) {
    logger.info("setUser controller loaded...");
    userService.addUser(user);
}

如您所见,这会产生一个问题,因为两个方法签名是相同的。由于注释似乎是派生功能而不是方法名,所以最好的拆分方法是什么。方法名可以是什么?SpringMVC中使用setter和getter控制器的最佳实践方法是什么?

实际上不是最佳实践,但我使用了以下方法:

gets的方法名称-列表(对于列表)或显示(对于项)

集合的方法名称-
更新
创建
,取决于您是更新项目还是创建新项目

方法名称可以是任何东西,它是<代码> @请求映射< /代码>注释,确保正确的方法被调用,尽管基于REST的映射方法被认为是一个很好的实践,但是考虑到像用户一样的域,REST控制器看起来是这样的:

@RequestMapping("/users")
@Controller
public class UserController{

    @RequestMapping(produces="text/html")
    public String list(){

    }

    @RequestMapping(value="/{id}", produces="text/html")
    public String show(){

    }

    @RequestMapping(method=RequestMethod.POST, produces="text/html")
    public String create(@Valid User user, BindingResult bindingResult, Model model){

    }

    @RequestMapping(method=RequestMethod.PUT, produces="text/html")
    public String update(@Valid User user, BindingResult bindingResult, Model model){

    }


    @RequestMapping(value="/{id}", method=RequestMethod.DELETE, produces="text/html")
    public String delete(...){
    }

 }