用JApiDocs代替Swagger生成接口文档 Spring

用JApiDocs代替Swagger生成接口文档

JApiDocs是一个无需额外注解、开箱即用的SpringBoot接口文档生成工具。 相比Swagger要写一堆注解,Spring RestDocs需要写测试用例,才能生成API文档。JApiDocs 具有无痛集成的特点,你只需花几分钟就能知道它怎么用了。 快速开始 要使得JApiDcos正确工作,你写的代码应该是像下面的样子的: /** * 用户接口 */...
阅读全文
如何用Spring WebFlux构建Reactive REST API Spring

如何用Spring WebFlux构建Reactive REST API

【51CTO.com快译】 在本文中,我们将讨论如何使用 Spring WebFlux 来构建响应式 REST API 。在正式讨论之前,让我们首先来看看系统的开发,传统 REST 在实现中遇到的问题,以及当前 API 的普遍需求。 下图简要地罗列了传统应用和现代应用系统的主要特点。如今的系统讲求的是:分布式应用、云原生、高可用性和可扩展性。因此,有效地利用系统现有的资源是至关重要的。...
阅读全文
架构设计(11)-- 分布式链路跟踪: 理论知识 Java 编程技术

架构设计(11)-- 分布式链路跟踪: 理论知识

我们最近升级改造我们链路跟踪系统Log2,然后我们花了将近一周时间调研不少开源的链路跟踪系统,在此调研过程中,做了一些笔记和总结,若有误请指教。 一、背景:分布式系统的问题 在分布式系统架构里面,往往包含众多应用服务,这些服务之间通过RPC调用来完成业务请求,如果其中某个RPC请求异常、超时和错误,很难去定位。这时我们需要分布式链路跟踪,去跟进请求链路到底有哪些服务,请求参数、请求结果...
阅读全文
Feign Client 原理和使用 Java 编程技术

Feign Client 原理和使用

最近一个新项目在做后端HTTP库技术选型的时候对比了 Spring WebClient , Spring RestTemplate , Retrofit , Feign , Okhttp 。综合考虑最终选择了上层封装比较好的 Feign ,尽管我们的App没有加入微服务,但是时间下来 Feign 用着还是很香的。 我们的sytyale针对 Feign 的底层原理和源码进行了解...
阅读全文
Spring Boot在微服务中的最佳实践 Java 编程技术

Spring Boot在微服务中的最佳实践

在本文中,我将列出构建Spring Boot应用程序的“金科玉律”,这些应用程序是微服务系统一部分。这些“金科玉律”都来自我过往的经验,我曾经将运行在JEE服务器上的单体SOAP应用程序迁往基于REST的小型Spring Boot应用程序。这些最佳实践假设你的产品上已经拥有许多微服务,且每天要应对海量的请求。让我们开始吧。 1. 收集度量指标 度量指标可视化可以改变组织中系统监控的方法,这...
阅读全文
Spring RestTemplate基本使用介绍 Java 编程技术

Spring RestTemplate基本使用介绍

上篇文件介绍Eureka服务的文章中,我们介绍到consumer从Eureka中通过LoadBalancerClient获取到服务端地址信息后通过RestTemplate来远程调用服务的场景,本文来具体介绍下RestTemplate的使用 RestTemplate SpringRestTemplate是Spring 提供的用于访问 Rest 服务的客端, RestTemplate提供...
阅读全文
Java(SpringBoot)实现钉钉机器人消息推送 Spring

Java(SpringBoot)实现钉钉机器人消息推送

零、前言 上一次做消息推送,是 微信公众号 的定时消息通知。 由于自己当时的水平不够,加上企鹅家的开发文档普遍不太友好,导致根本看不懂文档在写什么,不得不去看第三方博客来学习公众号的开发。 这次就不一样了,昨天刚看了一下,阿里的开发文档比鹅厂要清晰的多,而且在同一功能上,使用了 多种语言 作为示例代码,可以说很友好了。可能这就是阿里和鹅厂的区别吧...辣鸡文档和好文档的区别......
阅读全文
避免滥用http状态码,如何将后端业务错误准确地传递到Restful客户端?Spring Boot和JAX-RS的RFC-7... Java 编程技术

避免滥用http状态码,如何将后端业务错误准确地传递到Restful客户端?Spring Boot和JAX-RS的RFC-7...

在使用JAX-RS,Spring Boot或任何其他技术的RESTful Web服务中,必须使用机器可读且人性化的自定义业务错误代号。 假设您正在编写订单处理系统,客户可能没有资格使用某种付款方式下订单,您想通过Web前端或HTTP API调用的结果向用户反馈这种问题。可以通过查看http规范,并使用代码405:“不允许使用方法”来解决。 听起来完全符合您的需求。它可以在您的测试中工作得很好,...
阅读全文
Spring-cloud微服务实战【二】:eureka注册中心(上) Spring

Spring-cloud微服务实战【二】:eureka注册中心(上)

前言 本系列教程旨在为大家演示如何一步一步构建一整套微服务系统,至于其中的数据库用什么,订单ID如何保持唯一,分布式相关问题等等不在我们讨论范围内,本教程为了方便大家后续下载代码运行测试,不依赖任何其他诸如缓存、数据库之类的资源,此类操作我们在项目中使用代码的方式来模拟。 我们的实战过程会教童鞋们一步一步进行演化,让童鞋们了解一个微服务的开发流程: 1.创建两个用于演示的spri...
阅读全文
SpringBootTest 测试工具 Spring

SpringBootTest 测试工具

以下内容,翻译自官方文档,并结合了学习过程的demo。 Spring Boot提供了许多实用程序和注解,帮助测试应用程序。测试支持由两个模块提供: spring-boot-test 包含核心项, spring-boot-test-autoconfigure 支持测试的自动配置。 大多数开发人员使用 spring-boot-starter-test ,它同时导入 SpringBoot ...
阅读全文
使用Axon重播投射事件 - codecentric AG Blog Spring

使用Axon重播投射事件 - codecentric AG Blog

事件存储是任何事件源应用程序的核心。它包含系统生命周期中发生的每个事件。这些事件包含应用程序中的每个状态更改。EventSourcing通常与命令查询责任隔离(CQRS)结合使用。对于Axon而言,这意味着可以在投影中实现单独的读取面。 通常,事件在两个主要位置影响了软件的当前状态:聚合和投影。 事件处理器 如果您熟悉Axon,则可能知道处理器有两种类型:订阅事件处理器和跟...
阅读全文
从零开始搭建轻量级微服务架构,开源框架创始人带你走完全程 编程技术 软件架构

从零开始搭建轻量级微服务架构,开源框架创始人带你走完全程

前言 我们认为, 微服务是一个灵活的技术架构,它不能绑定在特定的技术平台上,微服务不应该存在任何的局限性,同时还要确保有较强的兼容性。 比如,虽然我们也使用Spring Boot开发微服务,但也允许使用其他更适合的开发框架或编程语言来实现微服务。再比如,我们目前通过ZooKeeper来实现服务注册,但也能轻松地切换为其他技术选型,对于整个应用程序而言,这些都是无感知的。微服务所提倡的理...
阅读全文
Loading...