首页 > 其他分享 >【第8章】SpringBoot实战篇之文章分类(上)

【第8章】SpringBoot实战篇之文章分类(上)

时间:2024-06-06 13:32:54浏览次数:20  
标签:Category 实战篇 SpringBoot bigevent 文章 springboot3 org import example

文章目录


前言

从这开始进入文章相关的接口开发,本章主要介绍定义文章分类接口和新增文章分类

建表语句和测试用例,在SpringBoot专栏首页,此处只涉及后端代码。


一、后端代码

1. CategoryController

package org.example.springboot3.bigevent.controller;

import org.example.springboot3.bigevent.entity.Category;
import org.example.springboot3.bigevent.entity.Result;
import org.example.springboot3.bigevent.service.CategoryService;
import org.example.springboot3.bigevent.utils.ThreadLocalUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;

/**
 * Create by zjg on 2024/5/26
 */
@RestController
public class CategoryController {
    @Autowired
    CategoryService categoryService;
    @PostMapping("/category")
    public Result add(@RequestBody @Validated Category category){
        Map<String, Object> claims = ThreadLocalUtil.get();
        Integer userId = (Integer) claims.get("userId");
        category.setCreateUser(userId);
        int i = categoryService.add(category);
        if(i!=1){
            return Result.error("新增文章分类失败,请稍后重试!");
        }
        return Result.success("新增文章分类成功");
    }
}

2. service

package org.example.springboot3.bigevent.service;

import org.example.springboot3.bigevent.entity.Category;

/**
 * Create by zjg on 2024/5/26
 */
public interface CategoryService {
    public int add(Category category);
}

package org.example.springboot3.bigevent.service;

import org.example.springboot3.bigevent.entity.Category;
import org.example.springboot3.bigevent.mapper.CategoryMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;

/**
 * Create by zjg on 2024/5/26
 */
@Service
public class CategoryServiceImpl implements CategoryService{
    @Autowired
    CategoryMapper categoryMapper;

    @Override
    public int add(Category category) {
        category.setCreateTime(LocalDateTime.now());
        category.setUpdateTime(LocalDateTime.now());
        return categoryMapper.insert(category);
    }
}

3. CategoryMapper

package org.example.springboot3.bigevent.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.example.springboot3.bigevent.entity.Category;

/**
 * Create by zjg on 2024/5/26
 */
@Mapper
public interface CategoryMapper extends BaseMapper<Category> {
}

4. Category

package org.example.springboot3.bigevent.entity;

import jakarta.validation.constraints.NotEmpty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.time.LocalDateTime;

@Getter
@Setter
@ToString
public class Category {
	@TableId(type= IdType.AUTO)
    private Integer id;//主键ID
    @NotEmpty(message = "分类名称不能为空")
    private String categoryName;//分类名称
    @NotEmpty(message = "分类别名不能为空")
    private String categoryAlias;//分类别名
    private Integer createUser;//创建人ID
    private LocalDateTime createTime;//创建时间
    private LocalDateTime updateTime;//更新时间
}

二、测试

1. 失败(校验)

在这里插入图片描述

2.正常

在这里插入图片描述
在这里插入图片描述


总结

回到顶部

标签:Category,实战篇,SpringBoot,bigevent,文章,springboot3,org,import,example
From: https://blog.csdn.net/qq_44824164/article/details/139222445

相关文章

  • 【第5章】SpringBoot实战篇之登录模式切换
    文章目录前言一、接口扩展1.LoginStorage2.LocalLoginStorage3.RedisLoginStorage4.参数配置二、登录相关接口改动1.登录接口2.登录拦截器总结前言前面分别介绍了本地Map和redis存储用户登录信息,但是第二天我登录就出现问题了,因为我Redis部署在虚拟机里面,不......
  • 【毕业设计】基于SpringBoot星之语明星周边产品销售网站的设计与实现.zip
    1.项目概述随着信息互联网信息的飞速发展,无纸化作业变成了一种趋势,针对这个问题开发一个专门适应洗衣店业务新的交流形式的网站。本文介绍了星之语明星周边产品销售网站的开发全过程。通过分析企业对于星之语明星周边产品销售网站的需求,创建了一个计算机管理星之语明星周边产......
  • JAVA计算机毕业设计基于的儿童疫苗预约系统(附源码+springboot+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着科技的进步和人们健康意识的增强,儿童疫苗接种已成为保障儿童健康成长的重要措施。然而,传统的疫苗预约方式往往存在诸多不便,如预约流程繁琐、信息......
  • JAVA计算机毕业设计基于的高校党务管理系统(附源码+springboot+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着高校党建工作的不断深入和发展,党务管理面临着越来越多的挑战。传统的党务管理方式往往依赖于纸质记录和人工操作,效率低下且容易出错。为了提高党......
  • SpringBoot 请求响应
    SpringBoot请求响应来源于黑马程序员JavaWeb课程,总结笔记1.ApiFoxApifox快速入门教程2.基本参数简单参数:在向服务器发起请求时,向服务器传递的是一些普通的请求数据。//RequestController.javaimportjakarta.servlet.http.HttpServletRequest;importorg.springf......
  • JAVA计算机毕业设计基于的畅游旅游网(附源码+springboot+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在信息化和全球化的大背景下,旅游业作为现代服务业的重要组成部分,正在经历着前所未有的变革。畅游旅游网作为一个集旅游信息、服务、交易于一体的综合......
  • JAVA计算机毕业设计基于的仓库管理系统(附源码+springboot+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的迅猛发展和企业规模的不断扩大,仓库管理作为企业运营中不可或缺的一环,面临着日益复杂和多样化的挑战。传统的仓库管理模式依赖于人工操......
  • Sz-Admin | SpringBoot3 JDK21 Vue3开源后台RBAC管理系统 | 2024年好用的开源RBAC管理
    简介接触了很多优秀的开源和闭源项目,在使用过程中也发现一些问题,不甘满足的我遂产生了想法:于是利用休息时间编写了一套后台管理系统,它灵活、简洁、高效,拥抱最新的技术,因此Sz-Admin便诞生了,也意为升职Admin,升职加薪节节高。SzAdmin,一个基于SpringBoot3、Vue3和El......
  • springboot模块化开发项目搭建-完善
    1.克隆项目,打开项目 2.改造成模块,entrance不是加粗,说明不是模块,需要改成模块 3.添加mysql驱动、mybatis、数据库连接池,定义版本,刷新maven 4.启动......
  • 基于springboot实现餐饮管理系统项目【项目源码+论文说明】计算机毕业设计
    基于springboot实现餐饮管理系统演示摘要互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,采用餐......