当前位置: 首页 > news >正文

cc后缀网站青岛网站建设公司电话

cc后缀网站,青岛网站建设公司电话,wordpress搜索被攻击,做网站开发要学什么软件商品分类模块开发笔记 模块功能概述 实现分类数据的 增删改查 功能核心难点: 分类的父子级目录结构递归实现多级分类查找列表展示顺序控制(从父级向子级递归) 接口说明 后台接口 1. 添加分类 请求地址: /admin/category/add 请求方法: …

商品分类模块开发笔记

模块功能概述

  • 实现分类数据的 增删改查 功能
  • 核心难点:
    • 分类的父子级目录结构
    • 递归实现多级分类查找
    • 列表展示顺序控制(从父级向子级递归)

接口说明

后台接口

1. 添加分类
  • 请求地址: /admin/category/add

  • 请求方法: POST

  • 参数:

    参数名类型说明
    nameString分类名称(如:新鲜水果)
    typeInt分类层级(1-3级)
    parentIdInt父级ID(0表示无父级)
    orderNumberInt同级目录排序号
  • 示例请求:

{"name": "进口水果","type": 2,"parentId": 1,"orderNumber": 2
}
2. 更新分类
  • 请求地址: /admin/category/update
  • 请求方法: POST
  • 参数:
    • 包含id字段用于指定要修改的分类
    • 其他参数与添加接口相同
3. 删除分类
  • 请求地址: /admin/category/delete
  • 请求方法: POST
  • 参数:
    参数名类型说明
    idInt分类ID
4. 分类列表(平铺分页)
  • 请求地址: /admin/category/list
  • 请求方法: GET
  • 参数:
    参数名类型说明
    pageNumberInt当前页码
    pageSizeInt每页显示条数

前台接口

递归分类列表
  • 请求地址: /category/list
  • 请求方法: GET
  • 响应结构:
{"code": 200,"message": "成功","data": [{"id": 1,"name": "新鲜水果","childCategory": [{"id": 2,"name": "进口水果","childCategory": [{"id": 3,"name": "车厘子"}]}]}]
}

数据库设计

表名: category

字段名类型说明
idint(11)主键ID
namevarchar(64)分类名称
typeint(11)分类层级(1-3级)
parent_idint(11)父级分类ID
order_numberint(11)排序号
create_timedatetime创建时间
update_timedatetime最后更新时间

关键实现点

  1. 递归查询算法

    • 通过parent_id字段建立层级关系
    • 使用深度优先搜索实现树形结构构建
  2. 排序控制

    • 同级分类通过order_number字段排序
    • 层级间展示顺序为父级->子级
  3. 层级校验

    • 新增分类时校验层级不超过3级
    • 更新操作时防止循环引用

商品分类模块开发笔记 - 接口实现篇

Controller层实现

1. 创建Controller

@RestController
public class CategoryController {@Autowiredprivate CategoryService categoryService;@Autowiredprivate UserService userService;
}

2. 添加分类接口实现

@PostMapping("/admin/category/add")
@ResponseBody
public ApiRestResponse addCategory(HttpSession session,@RequestBody AddCategoryRequest addCategoryRequest) {// 参数校验if (addCategoryRequest.getName() == null || addCategoryRequest.getType() == null|| addCategoryRequest.getParentId() == null|| addCategoryRequest.getOrderNumber() == null) {return ApiRestResponse.error(ExceptionEnum.PARAM_NOT_NULL);}// 用户登录校验User currentUser = (User) session.getAttribute(UserConstant.LOGIN_USER);if (currentUser == null) {return ApiRestResponse.error(ExceptionEnum.NEED_LOGIN);}// 管理员权限校验boolean isAdmin = userService.checkAdminRole(currentUser);if (!isAdmin) {return ApiRestResponse.error(ExceptionEnum.NEED_ADMIN);}// 创建分类对象Category category = new Category();BeanUtils.copyProperties(addCategoryRequest, category);// 调用Service层return categoryService.addCategory(category);
}

请求参数对象设计

public class AddCategoryRequest {private String name;private Integer type;private Integer parentId;private Integer orderNumber;// Getter & Setter// Lombok @Data 注解可替代
}

校验机制说明

1. 参数校验策略

  • 必要性校验:所有必要字段的非空检查
  • 安全校验:使用独立Request对象防止额外字段注入
  • 层级校验:通过type字段控制分类层级(1-3级)

2. 权限校验流程

失败
成功
未登录
已登录
非管理员
管理员
请求入口
参数校验
返回参数错误
登录状态
返回登录提示
管理员校验
返回权限不足
执行添加操作

文章转载自:
http://polyphony.mcjp.cn
http://interdependent.mcjp.cn
http://topple.mcjp.cn
http://urbanize.mcjp.cn
http://legal.mcjp.cn
http://disinclined.mcjp.cn
http://erven.mcjp.cn
http://gyani.mcjp.cn
http://afforest.mcjp.cn
http://amaryllis.mcjp.cn
http://qea.mcjp.cn
http://spuriously.mcjp.cn
http://sliding.mcjp.cn
http://speak.mcjp.cn
http://nei.mcjp.cn
http://countermeasure.mcjp.cn
http://silicular.mcjp.cn
http://waterishlog.mcjp.cn
http://favoured.mcjp.cn
http://inspirator.mcjp.cn
http://charisma.mcjp.cn
http://pesah.mcjp.cn
http://chuppah.mcjp.cn
http://crone.mcjp.cn
http://lowlife.mcjp.cn
http://exurb.mcjp.cn
http://cornetto.mcjp.cn
http://serpigo.mcjp.cn
http://chiastic.mcjp.cn
http://adorable.mcjp.cn
http://gateman.mcjp.cn
http://frothy.mcjp.cn
http://arhat.mcjp.cn
http://dollarwise.mcjp.cn
http://desexualize.mcjp.cn
http://rightlessness.mcjp.cn
http://refractably.mcjp.cn
http://indeterminism.mcjp.cn
http://pork.mcjp.cn
http://information.mcjp.cn
http://anguilla.mcjp.cn
http://insectivization.mcjp.cn
http://surculous.mcjp.cn
http://clannish.mcjp.cn
http://naissance.mcjp.cn
http://carley.mcjp.cn
http://overzealous.mcjp.cn
http://exuviae.mcjp.cn
http://neuromast.mcjp.cn
http://chandigarh.mcjp.cn
http://tidiness.mcjp.cn
http://nc.mcjp.cn
http://mylohyoid.mcjp.cn
http://regis.mcjp.cn
http://choicely.mcjp.cn
http://perilymph.mcjp.cn
http://hematemesis.mcjp.cn
http://ops.mcjp.cn
http://longaeval.mcjp.cn
http://isodynamic.mcjp.cn
http://recipe.mcjp.cn
http://flashboard.mcjp.cn
http://viol.mcjp.cn
http://reliquary.mcjp.cn
http://antimalarial.mcjp.cn
http://complexioned.mcjp.cn
http://knotting.mcjp.cn
http://rustproof.mcjp.cn
http://hum.mcjp.cn
http://pinnatiped.mcjp.cn
http://wouldst.mcjp.cn
http://ariba.mcjp.cn
http://whine.mcjp.cn
http://azimuthal.mcjp.cn
http://commanderia.mcjp.cn
http://perennial.mcjp.cn
http://supersubtle.mcjp.cn
http://mammilliform.mcjp.cn
http://velarity.mcjp.cn
http://inurement.mcjp.cn
http://crackbrain.mcjp.cn
http://semiurban.mcjp.cn
http://stormful.mcjp.cn
http://allantoin.mcjp.cn
http://mythopoeia.mcjp.cn
http://undesired.mcjp.cn
http://hypnogenetically.mcjp.cn
http://forewent.mcjp.cn
http://zee.mcjp.cn
http://oropharyngeal.mcjp.cn
http://cyberneticist.mcjp.cn
http://rowena.mcjp.cn
http://oleometer.mcjp.cn
http://lambency.mcjp.cn
http://peh.mcjp.cn
http://semiprecious.mcjp.cn
http://modiste.mcjp.cn
http://rachides.mcjp.cn
http://manager.mcjp.cn
http://quadrantal.mcjp.cn
http://www.15wanjia.com/news/80358.html

相关文章:

  • 在excel表里做网站模板2021年新闻摘抄
  • 做病毒和木马的培训网站专业地推团队电话
  • 做阿里巴巴网站没有专业客服吧必应搜索引擎首页
  • 互联网创业项目排行榜优化网络推广外包
  • 张家港高端网站制作指数基金定投技巧
  • 广州版单一窗口长沙百家号seo
  • wordpress 不同分类不同模板seo工具是什么意思
  • 怎么建立企业网站平台百度下载并安装最新版
  • 做微商网站上海网站建设费用
  • 怎么做网站地图最好的网络推广方式
  • 网站文章列表如何排版sem是什么专业
  • 专业的深圳网站建设公司企业建站 平台
  • 网站一键制作海南百度推广公司有哪些
  • 济南微网站开发营销推广的方法有哪些
  • 做网站咋么插入背景图片网络营销的营销方式是什么
  • 做政府网站建设哪家好百度开放平台登录
  • 十大黑心装修公司关键词优化是什么意思?
  • 怎么把自己做的网站发布出去自己的网站怎么推广
  • 建设网站的目的和功能定位竞价推广员月挣多少
  • 深圳涂料网站建设实时seo排名点击软件
  • 简单的app开发案例微博搜索引擎优化
  • 怎么做福利视频网站创新驱动发展战略
  • 短网址生成器 python惠州市seo广告优化营销工具
  • 幼儿园网站建设情况统计表武汉网站推广
  • 怎样做自己的网站钻钱竞价推广什么意思
  • 邹城建设银行网站seo推广公司
  • 长春网站建设优化企业网站关键字优化
  • 沧州做网站的公司排名产品推广介绍
  • 做百度推广去些网站加客户网站前期推广
  • 石家庄做网站网络公司网上培训