微服务项目:尚融宝(8)(后端接口:积分等级CRUD)

本文涉及的产品
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 微服务项目:尚融宝(8)(后端接口:积分等级CRUD)

认清现实,放弃幻想,准备斗争


一、积分等级列表接口



1、编写积分等级管理接口


在controller中添加admin包,添加AdminIntegralGradeController类


@CrossOrigin
@RestController
@RequestMapping("/admin/core/integralGrade")
public class AdminIntegralGradeController {
    @Resource
    private IntegralGradeService integralGradeService;
    @GetMapping("/list")
    public List<IntegralGrade> listAll(){
        return integralGradeService.list();
    }
}



2、测试


重启服务,访问: http://localhost:8110/admin/core/integralGrade/list 查看结果json数据


二、逻辑删除接口



1、添加删除方法


AdminIntegralGradeController添加removeById方法


@DeleteMapping("/remove/{id}")
public boolean removeById(@PathVariable Long id){
    return integralGradeService.removeById(id);
}


f75187bc4a514d02be30e8d9657942a8.png


BUG排除


工程的pom文件变成灰色,表示忽略处理,这个玩意一般是你删掉的创建的工程不够干净,然后又重建了一个工程(同名),


3f1ea088bc1c4552be31987080b09467.jpg


原因:


新建的模块名与之前删除过的模块重名了,此时IDEA会认为此Project中需要排除该Module,可能就会导致pom文件变成灰色。


解决方案:


路径:Setting→Build Tools→Maven->Ignored Files ,找到被打勾忽略的Module,然后将Ignored Files中的打勾去掉即可。


三、配置Swagger2



1、Swagger2配置文件


在service-base中创建Swagger2Config


@Configuration
@EnableSwagger2
public class Swagger2Config {
    @Bean
    public Docket adminApiConfig(){
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("adminApi")
                .apiInfo(adminApiInfo())
                .select()
                //只显示admin路径下的页面
                .paths(Predicates.and(PathSelectors.regex("/admin/.*")))
                .build();
    }
    private ApiInfo adminApiInfo(){
        return new ApiInfoBuilder()
                .title("尚融宝后台管理系统-API文档")
                .description("本文档描述了尚融宝后台管理系统接口")
                .version("1.0")
                .contact(new Contact("Helen", "http://atguigu.com", "55317332@qq.com"))
                .build();
    }
}



2、查看Swagger文档


重启服务器查看接口文档:http://localhost:8110/swagger-ui.html


38f945817717409cb3b994f38bc8df47.png749cc78ba08e41e78efe82feb8bd4c31.jpg348e6caa302d4708869ebdb7dbaad9bd.jpg


3、常见注解


实体类注解:entity的实体类中可以添加一些自定义设置,例如:


@ApiModelProperty(value = "创建时间", example = "2019-01-01 8:00:00")
private LocalDateTime createTime;
@ApiModelProperty(value = "更新时间", example = "2019-01-01 8:00:00")
private LocalDateTime updateTime;


这个可以在swagger测试里面如果需要传jsion对象的时候默认,这俩个属性将有俩个默认的值


controller注解:

定义在类上


@Api(tags = "积分等级管理")


5514336cad024cdea5e580d82b074996.png

定义在方法上


1. @ApiOperation("积分等级列表")
2. 
3. @ApiOperation(value = "根据id删除积分等级", notes = "逻辑删除")


定义在参数上


@ApiParam(value = "数据id", required = true, example = "100")


如果想要以不同的页面展示不同的接口文档,可以进行分组,比如想管理端的文档和web端的文档进行分开,可以进行分组处理


@Configuration
@EnableSwagger2
public class Swagger2Config {
    private ApiInfo ApiConfig(){
        return new ApiInfoBuilder().title("尚融宝后台管理系统API文档")
                .description("本文本描述了尚融宝后台管理系统的各个模块的调用方式")
                .version("1.6")
                .contact(new Contact("helen","http://atguigu.com","admin@atguigu.com"))
                .build();
    }
    @Bean
    public Docket apiConfig(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(ApiConfig())
                .groupName("adminApi").select()
                .paths(Predicates.and(PathSelectors.regex("/admin/.*")))
                .build();
    }
    private ApiInfo webApiConfig(){
        return new ApiInfoBuilder().title("尚融宝网站管理系统API文档")
                .description("本文本描述了尚融宝网站系统的各个模块的调用方式")
                .version("1.6")
                .contact(new Contact("helen","http://atguigu.com","admin@atguigu.com"))
                .build();
    }
    @Bean
    public  Docket webAopConfig()
    {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(webApiConfig())
                .groupName("webApi").select()
            .paths(Predicates.and(PathSelectors.regex("/api/.*")))
            .build();
    }
}



相关文章
|
1月前
|
关系型数据库 MySQL 测试技术
记录一次后端接口抖动的排查过程
某天下午,测试新功能时发现页面接口偶尔变慢,平均十次调用中有三到四次出现3秒以上的延迟。排查了接口、数据库和服务器资源后未发现问题,最终锁定为K8s节点的负载均衡策略导致。测试环境仅有一个公网IP,SLB轮询四个Pod(其中三个为空),造成周期性延迟。移除空Pod后问题解决。
51 5
|
5月前
|
SQL JSON Java
springboot 如何编写增删改查后端接口,小白极速入门,附完整代码
本文为Spring Boot增删改查接口的小白入门教程,介绍了项目的构建、配置YML文件、代码编写(包括实体类、Mapper接口、Mapper.xml、Service和Controller)以及使用Postman进行接口测试的方法。同时提供了SQL代码和完整代码的下载链接。
springboot 如何编写增删改查后端接口,小白极速入门,附完整代码
|
5月前
|
消息中间件 监控 开发工具
微服务(三)-实现自动刷新配置(不重启项目情况下)
微服务(三)-实现自动刷新配置(不重启项目情况下)
|
6月前
|
存储 缓存 关系型数据库
Django后端架构开发:缓存机制,接口缓存、文件缓存、数据库缓存与Memcached缓存
Django后端架构开发:缓存机制,接口缓存、文件缓存、数据库缓存与Memcached缓存
145 0
|
6月前
|
小程序 JavaScript Java
微信小程序+SpringBoot接入后台服务,接口数据来自后端
这篇文章介绍了如何将微信小程序与SpringBoot后端服务进行数据交互,包括后端接口的编写、小程序获取接口数据的方法,以及数据在小程序中的展示。同时,还涉及到了使用Vue搭建后台管理系统,方便数据的查看和管理。
微信小程序+SpringBoot接入后台服务,接口数据来自后端
|
6月前
|
Java 程序员 编译器
作为后端开发,感受下接口带来的魅力!🔥🔥
在一场大厂面试中,小南被问及何时选用接口,何时采用抽象类。一位拥有24K粉丝的博主给出解答:选择取决于需求——接口定义多个类需遵守的契约,而抽象类则用于创建共享实现的基类。有时两者结合使用,通过抽象类实现接口以确保契约并提供通用功能。此外,小南还分享了关于抽象类的深入探讨,包括子类如何正确调用父类构造函数、访问父类成员以及父类不可访问的方法等细节。最后,他提出一个关于接口与抽象类差异的小测验,并邀请读者关注他的开源项目《Java学习进阶指南》,旨在帮助Java开发者更好地掌握核心知识和面试要点。
198 3
作为后端开发,感受下接口带来的魅力!🔥🔥
|
6月前
|
开发框架 前端开发 API
使用代码生成工具快速开发应用-结合后端Web API提供接口和前端页面快速生成,实现通用的业务编码规则管理
使用代码生成工具快速开发应用-结合后端Web API提供接口和前端页面快速生成,实现通用的业务编码规则管理
|
7月前
|
开发框架 前端开发 关系型数据库
使用egg.js开发后端API接口系统 什么是Egg.js
使用egg.js开发后端API接口系统 什么是Egg.js
|
7月前
|
存储 开发框架 前端开发
循序渐进VUE+Element 前端应用开发(19)--- 后端查询接口和Vue前端的整合
循序渐进VUE+Element 前端应用开发(19)--- 后端查询接口和Vue前端的整合
|
1月前
|
人工智能 安全 Java
微服务引擎 MSE:打造通用的企业级微服务架构
微服务引擎MSE致力于打造通用的企业级微服务架构,涵盖四大核心内容:微服务技术趋势与挑战、MSE应对方案、拥抱开源及最佳实践。MSE通过流量入口、内部流量管理、服务治理等模块,提供高可用、跨语言支持和性能优化。此外,MSE坚持开放,推动云原生与AI融合,助力企业实现无缝迁移和高效运维。