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


基础结构
java
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 请求
接口示例
分页查询
java
@GetMapping("")
public Result<PageResult<SiteShopListVo>> page(@Validated PageParam pageParam, @Validated SiteShopSearchParam searchParam) {
PageResult<SiteShopListVo> list = siteShopService.page(pageParam, searchParam);
return Result.success(list);
}详情查询
java
@GetMapping("/{id}")
public Result<SiteShopInfoVo> info(@PathVariable("id") Integer id) {
SiteShopInfoVo info = siteShopService.info(id);
return Result.success(info);
}添加数据
java
@PostMapping("")
public Result<Object> add(@Validated @RequestBody SiteShopParam addParam) {
siteShopService.add(addParam);
return Result.success();
}更新数据
java
@PutMapping("/{id}")
public Result<Object> edit(@PathVariable("id") Integer id, @Validated @RequestBody SiteShopInfoParam editParam) {
siteShopService.edit(id, editParam);
return Result.success();
}删除数据
java
@DeleteMapping("/{id}")
public Result<Object> del(@PathVariable("id") Integer id) {
siteShopService.del(id);
return Result.success();
}权限控制
java
@RestController
@RequestMapping("adminapi/shop/site")
@SaCheckLogin // 类级别权限控制
public class SiteShopSettingController {
// 方法...
}响应格式
基础响应
json
{
"success": true,
"code": 200,
"message": "操作成功",
"data": {}
}分页响应
json
{
"success": true,
"code": 200,
"message": "操作成功",
"data": {
"records": [],
"total": 100,
"size": 20,
"current": 1,
"pages": 5
}
}