控制器接口
概述
控制器(Controller)是 Java 服务端应用的核心组件,负责处理 HTTP 请求、调用业务逻辑并返回响应结果。本项目采用 Spring Boot 框架开发,严格遵循 RESTful API 设计规范
控制器目录结构

基础结构
package com.niu.core.controller.siteapi.shop;
import com.niu.core.common.domain.PageParam;
import com.niu.core.common.domain.PageResult;
import com.niu.core.common.domain.Result;
import com.niu.core.service.admin.shop.ISiteShopService;
import com.niu.core.service.admin.shop.param.*;
import com.niu.core.service.admin.shop.vo.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("adminapi/shop/site/site_shop")
public class SiteShopController {
@Resource
ISiteShopService siteShopService;
// 控制器方法...
}
核心注解
类级别
-
@RestController:标识为 REST 控制器 -
@RequestMapping:定义请求路径前缀 -
@SaCheckLogin:权限控制,要求登录
方法级别
-
@GetMapping:处理 GET 请求 -
@PostMapping:处理 POST 请求 -
@PutMapping:处理 PUT 请求 -
@DeleteMapping:处理 DELETE 请求
接口示例
分页查询
@GetMapping("")
public Result<PageResult<SiteShopListVo>> page(@Validated PageParam pageParam, @Validated SiteShopSearchParam searchParam) {
PageResult<SiteShopListVo> list = siteShopService.page(pageParam, searchParam);
return Result.success(list);
}
详情查询
@GetMapping("/{id}")
public Result<SiteShopInfoVo> info(@PathVariable("id") Integer id) {
SiteShopInfoVo info = siteShopService.info(id);
return Result.success(info);
}
添加数据
@PostMapping("")
public Result<Object> add(@Validated @RequestBody SiteShopParam addParam) {
siteShopService.add(addParam);
return Result.success();
}
更新数据
@PutMapping("/{id}")
public Result<Object> edit(@PathVariable("id") Integer id, @Validated @RequestBody SiteShopInfoParam editParam) {
siteShopService.edit(id, editParam);
return Result.success();
}
删除数据
@DeleteMapping("/{id}")
public Result<Object> del(@PathVariable("id") Integer id) {
siteShopService.del(id);
return Result.success();
}
权限控制
@RestController
@RequestMapping("adminapi/shop/site")
@SaCheckLogin // 类级别权限控制
public class SiteShopSettingController {
// 方法...
}
响应格式
基础响应
{
"success": true,
"code": 200,
"message": "操作成功",
"data": {}
}
分页响应
{
"success": true,
"code": 200,
"message": "操作成功",
"data": {
"records": [],
"total": 100,
"size": 20,
"current": 1,
"pages": 5
}
}