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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 微服务项目:尚融宝(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月前
|
运维 监控 API
后端开发中的微服务架构:优势与挑战
【8月更文挑战第16天】在软件开发的世界中,微服务架构已经成为一种流行和强大的设计模式。它通过将应用程序分解为一组小型、独立的服务来促进敏捷开发和快速迭代。本文旨在深入探讨微服务架构的核心优势以及实施过程中可能遇到的挑战,帮助读者更好地理解这一现代软件设计方法。
|
28天前
|
设计模式 数据管理 测试技术
后端开发中的微服务架构设计哲学
【8月更文挑战第23天】在软件开发的海洋中,微服务架构如同一艘精心设计的船只,它以独特的设计理念和航行技巧,引领着后端开发的未来。本文将探讨微服务的核心概念、设计原则以及如何将这些理念融入到日常的开发实践中,旨在为读者提供一套清晰的微服务设计指南。
|
1月前
|
监控 负载均衡 数据管理
后端开发中的微服务架构实践与挑战
【8月更文挑战第20天】在现代软件工程领域,微服务架构因其灵活性和可扩展性而受到推崇。本文将深入探讨微服务架构的核心概念、实施过程中的关键步骤以及面临的主要挑战,旨在为后端开发人员提供一个全面的视角,帮助他们理解和应对微服务架构带来的变革。
|
1月前
|
运维 监控 持续交付
后端开发中的微服务架构:优势与挑战
【8月更文挑战第20天】随着云计算和容器化技术的发展,微服务架构已经成为现代软件开发中的一种流行趋势。本文将探讨微服务架构的核心优势以及在实施过程中可能遇到的技术和组织挑战。我们将从微服务的定义入手,进而深入分析其设计哲学、技术特性以及在实际应用中的效益与问题。
158 56
|
9天前
|
消息中间件 存储 缓存
后端开发之深入浅出微服务架构
在数字化时代的浪潮中,后端开发如同一座桥梁,连接着用户与数据的世界。本文将带你探索微服务架构的奥秘,从基础概念到实战应用,一步步揭开它神秘的面纱。我们将一起思考,如何在这个快速变化的时代,找到属于自己的节奏和方向。
23 2
|
1月前
|
JSON 中间件 Go
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
本文详细介绍了如何在Go项目中集成并配置Zap日志库。首先通过`go get -u go.uber.org/zap`命令安装Zap,接着展示了`Logger`与`Sugared Logger`两种日志记录器的基本用法。随后深入探讨了Zap的高级配置,包括如何将日志输出至文件、调整时间格式、记录调用者信息以及日志分割等。最后,文章演示了如何在gin框架中集成Zap,通过自定义中间件实现了日志记录和异常恢复功能。通过这些步骤,读者可以掌握Zap在实际项目中的应用与定制方法
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
|
24天前
|
存储 运维 小程序
后端开发零负担!揭秘支付宝小程序云开发的高效与安全,你的项目也能飞速上线?
【8月更文挑战第27天】支付宝小程序云开发是由阿里云提供的集成开发环境,助力开发者高效、安全地构建小程序后端服务,免去服务器搭建,显著提高开发效率并降低运维成本。它集成了云函数、云数据库及云存储等功能,便于快速搭建后端逻辑。例如,仅需简单几行代码即可创建HTTP接口或进行数据管理。这使得开发者能更专注于业务逻辑和用户体验优化,同时平台还提供了强大的安全保障措施,确保数据安全和用户隐私。无论对于初创团队还是成熟企业,支付宝小程序云开发都能有效提升产品迭代速度和市场竞争力。
47 1
|
10天前
|
设计模式 Kubernetes 开发者
探索后端开发中的微服务架构
本文旨在通过浅显易懂的方式,向读者介绍微服务架构的概念、优势以及在后端开发中的应用。我们将从微服务的基本定义出发,逐步深入到如何设计、部署和维护一个高效的微服务系统。文章还将分享一些实际案例,帮助初学者和有经验的开发者更好地理解和掌握微服务架构。
|
1月前
|
消息中间件 NoSQL 持续交付
构建高效微服务架构:后端开发的新范式
【7月更文挑战第50天】在数字化转型的浪潮中,微服务架构已成为推动企业敏捷开发和维护的关键。本文深入探讨了如何构建一个高效的微服务架构,包括选择合适的技术栈、确保服务的可伸缩性与弹性、以及实现持续集成和持续部署(CI/CD)。通过分析具体案例,文章揭示了后端开发者如何在不断变化的技术环境中保持竞争力,并提出了优化策略以提升系统整体性能和可靠性。
|
1月前
|
消息中间件 设计模式 API
后端开发中的微服务架构设计原则
【8月更文挑战第13天】在软件工程的世界中,微服务架构已经成为一种流行的设计模式,它通过将复杂的应用程序分解成一组小的服务来简化开发和部署。本文探讨了微服务背后的设计理念,以及如何在后端开发实践中应用这些原则来构建可扩展、灵活且易于维护的系统。我们将深入讨论服务的划分、通信协议的选择、数据一致性的保障以及容错性策略的实施,旨在为后端开发人员提供一套实用的微服务架构设计指导。
51 1