Go HTTP 服务:路由、严格解码、超时与测试
Go 标准库已经具备 HTTP 服务、路由、JSON 与测试能力。先把边界做对,再决定是否引入 Gin 等框架,可以更清楚地辨认框架解决了什么。本实验使用 Go 1.22 引入的方法路由模式,因此需要 Go 1.22 或更高版本;只依赖标准库。 ...
Go 标准库已经具备 HTTP 服务、路由、JSON 与测试能力。先把边界做对,再决定是否引入 Gin 等框架,可以更清楚地辨认框架解决了什么。本实验使用 Go 1.22 引入的方法路由模式,因此需要 Go 1.22 或更高版本;只依赖标准库。 ...
Go 的类型、错误返回与 goroutine 让服务代码可以写得直接,但简单语法不意味着没有隐含共享。读代码时先追踪值包含什么、谁能修改、谁负责关闭,以及错误沿什么路径传播。 ...
这条路线使用 Go 标准库建立服务边界,再以有界任务工程练习并发与可靠性。掌握这些之后,如果项目需要 Gin 等框架,可以把它作为路由、绑定和中间件的替换选择;不需要为了学习后端先收集所有框架。 ...
这个工程把 HTTP 接收与后台处理拆开:POST 接收任务返回 202,GET 查询状态,工作协程从有界队列处理。它只使用 Go 标准库,展示并发与协议边界;队列和去重记录都在内存中,重启会丢失,不能代替可靠消息系统。 ...
接口契约描述客户端可以依赖什么:请求字段、身份、成功结果、错误、重试方式以及版本变化。只列一个 URL 和 JSON 示例,无法回答“响应丢了以后能不能重发”。先读网络与 HTTP 基础,再把协议语义落实到服务行为。 ...
Java 服务代码首先是 Java 程序,然后才是 Spring 应用。类型设计、对象共享、异常与资源边界没有想清楚,增加注解通常只会让问题更难发现。本页以 Java 21 为语法基线,不依赖预览特性。 ...
这个工程把 HTTP、数据库事务、幂等与对象授权放在同一条可执行流程里。它使用 Java 21、Spring Boot 3.5.16、JDBC 与内存 H2,方便本机直接测试;不是已经部署的业务系统。数据库产品的锁语义、真正消息转发和持久恢复需要另外验收。 ...
这条路线以 Java 21 和 Spring Boot 为实践主线,共用后端协议、数据库与可靠性知识点。先理解 Java 对象、异常和资源,再理解容器与代理;避免把服务行为完全归因于注解。 ...
Spring Boot 在 Spring 的基础上提供自动配置、依赖管理与应用启动约定。它减少常见服务的装配工作,但不会替你决定业务模块、数据库事务和权限边界。本页配套工程固定使用 Java 21、Spring Boot 3.5.16;这是一组可复现依赖,不表示必须把既有项目全部升级到它。 ...
并发让多个任务在时间上重叠,吞吐能否提高还取决于 CPU、数据库连接、网络和任务依赖。开一万个线程或 goroutine,只是把等待搬到别处;如果数据库只能处理几十个并发查询,其余任务仍占用内存和请求预算。 ...