将Controller的公共部分抽离出来