Skip to content

控制器接口

概述

控制器(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
  }
}

基于 MIT 协议发布