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

本文涉及的产品
服务治理 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();
    }
}



相关文章
|
16天前
|
API 开发者 微服务
探索后端开发中的微服务架构
【5月更文挑战第31天】在数字化浪潮中,微服务架构如星辰般熠熠生辉,为后端开发领域带来革命性的创新。本文将深入探讨微服务架构的精髓,从其定义、核心优势到实际应用,展现这一技术如何在复杂业务场景下提供灵活、高效的解决方案。我们将一同见证微服务如何助力企业快速响应市场变化,实现技术的可持续发展。
|
16天前
|
Cloud Native 数据库 开发者
构建高效微服务架构:后端开发的新趋势
【5月更文挑战第31天】 在数字化转型的浪潮中,微服务架构已成为企业技术战略的核心组成部分。本文将深入探讨如何构建一个高效的微服务架构,包括关键的设计原则、技术选型、以及实践中的挑战与解决方案。通过对微服务架构的细致剖析,我们将提供一套实用的指南,帮助后端开发者优化系统结构,提升服务的可靠性、伸缩性和敏捷性。
|
16天前
|
敏捷开发 API 开发者
构建高效微服务架构:后端开发的新趋势
【5月更文挑战第31天】 在现代软件开发的浪潮中,微服务架构已经成为企业追求敏捷开发、持续交付和系统弹性的关键解决方案。本文将深入探讨微服务架构的概念、优势以及如何构建一个高效的微服务系统。通过实际案例分析,我们将展示如何利用容器化、服务网格、API网关等技术手段,实现服务的解耦、分布式管理和网络通信优化。
|
1天前
|
设计模式 消息中间件 运维
微服务架构在后端开发中的应用与挑战
微服务架构作为一种现代软件开发方法,带来了灵活性、可扩展性和高效性,但同时也引发了诸如复杂性管理、数据一致性等新的挑战。本文深入探讨了微服务架构在后端开发中的应用场景,以及应对这些挑战的策略。
6 0
|
1天前
|
监控 API 数据库
构建高效后端:微服务架构的实战指南
【6月更文挑战第14天】在数字化浪潮下,后端开发面临着前所未有的挑战和机遇。本文将深入探讨微服务架构的设计理念、实现方式及其在现代软件开发中的重要性,为读者提供一份全面而实用的微服务实战手册。
|
4天前
|
监控 数据管理 API
探索微服务架构中的后端设计最佳实践
在当今快速发展的技术世界中,微服务架构已经成为开发大型复杂系统的一种标准方法。本篇文章将深入探讨微服务架构在后端设计中的最佳实践,涵盖服务拆分、API设计、数据管理及监控和调试等方面,帮助开发者在实际项目中应用这些原则,以构建高性能、可扩展且易于维护的系统。
11 0
|
4天前
|
负载均衡 搜索推荐 应用服务中间件
后端开发中的微服务架构设计与实践
传统的单一应用架构已经无法满足当今快速变化的业务需求,微服务架构因其灵活性和扩展性逐渐成为后端开发的主流选择。本文将探讨微服务架构设计与实践,包括微服务架构的概念、优势以及在后端开发中的应用。同时,将结合实际案例分析微服务架构的设计原则和最佳实践,以帮助开发者更好地理解和应用微服务架构。
|
4天前
|
监控 负载均衡 持续交付
深入理解微服务架构及其在现代后端开发中的应用
本文将深入探讨微服务架构的核心概念、设计原则和实施挑战,并分析其在现代后端开发中的实际应用。通过比较传统单体应用与微服务的优劣,揭示微服务如何助力于系统的可扩展性、灵活性和持续部署。此外,文章还将讨论微服务实施过程中的常见问题及解决方案,为后端开发者提供实践指导。
|
6天前
|
消息中间件 存储 监控
通过将大型应用拆分成一系列小型、独立的服务,微服务架构为后端开发带来了更高的灵活性、可扩展性和可维护性
【6月更文挑战第10天】本文探讨了构建高效微服务架构的后端开发最佳实践。微服务的核心原则是服务独立、去中心化、自治和轻量级通信,优势在于可扩展性、独立性、技术灵活性和团队协作。实践中,应注意服务的拆分粒度,选择合适的通信协议(如RESTful、RPC、消息队列),处理数据一致性与分布式事务,实施服务治理和监控,以及确保安全性与权限控制。未来,微服务将结合服务网格、容器化和云原生技术,持续发展和优化。
13 0
|
11天前
|
运维 Kubernetes 持续交付
构建高效后端:微服务架构的设计与实践
本文深入探讨了微服务架构的设计原则和实践方法,旨在为读者提供一套完整的微服务开发指南。通过分析微服务的核心优势,如灵活性、可扩展性与独立部署能力,文章详细阐述了如何有效规划服务边界、选择合适的通信协议以及确保服务的高可用性和弹性。此外,还讨论了在微服务实施过程中可能遇到的挑战,包括数据一致性和服务发现机制,以及如何通过现代技术栈和最佳实践来克服这些挑战。