JDK HTTP 服务器:真实世界后端开源演示

JDK HTTP Server代码库包含真实的世界的示例(CRUD,auth,高级模式等),

创建此代码库是为了演示使用JDK HTTP Server构建的完全成熟的全栈应用程序,包括CRUD操作,身份验证,路由,分页等。

有关如何与其他前端/后端一起工作的更多信息,请前往RealWorld repo。

运行演示部署在这里

这是由几个组件组成的。主要

  • jdk.httpserver模块,提供针对其编程的API
  • Jetty,它为jdk.httpserver提供了实际的支持实现
  • 数据库的PostgreSQL
  • RainbowGum用于日志

执行具体任务:

几乎所有代码都包含在RealWorldAPI类中。如果此处做出的任何选择冒犯了您的感受,我鼓励您分叉并展示您希望完成的方式。如果您认为某些事情做得不够好或客观上存在问题,请提出问题。

具体来说,我鼓励大家

  • 尝试拆分 RealWorldAPI 类。
  • 尝试使用他们所选择的数据库抽象。 如果使用 Hibernate、JOOQ 或 JDBI,情况会怎样?
  • 尝试使用他们所选择的 JSON 库。 尝试将持久化/服务等整体拆分,这样会更好吗?
  • 添加单元测试。 对于这个问题,我可以直接使用 API 测试,但使用 JUnit 测试会怎样呢?

先决条件

  • Java 22 或更高版本
  • SDKMan
  • Docker

用法

首先,启动 postgres

$ docker compose up -d

然后安装 MyBatis Migrations。目前使用 SDKMan 最容易做到这一点。

$ sdk install mybatis

将migrations应用到数据库

$ cd migrations

$ migrate up

$ cd ..

然后运行服务器

  • 在编辑器中打开项目

  • 通过 maven 运行它( ./mvnw exec:java -Dexec.mainClass="dev.mccue.jdk.httpserver.realworld.Main")

  • 通过docker运行

$ docker build -t realworld .

$ docker run realworld

该项目的文件.env已提交到存储库。请注意,一般来说,这是一个坏主意/做法,但这里唯一的秘密是本地数据库连接,所以没问题。

https://www.jdon.com/76454.html

相关推荐
灵感__idea5 小时前
JavaScript高级程序设计(第5版):好的编程就是掌控感
前端·javascript·程序员
hui函数8 小时前
掌握JavaScript函数封装与作用域
前端·javascript
Carlos_sam9 小时前
Opnelayers:ol-wind之Field 类属性和方法详解
前端·javascript
小毛驴8509 小时前
创建 Vue 项目的 4 种主流方式
前端·javascript·vue.js
你这个年龄怎么睡得着的11 小时前
Babel AST 魔法:Vite 插件如何让你的 try...catch 不再“裸奔”?
前端·javascript·vite
Dream耀11 小时前
提升React移动端开发效率:Vant组件库
前端·javascript·前端框架
NUC_Dodamce12 小时前
Cocos3x 解决同时勾选 适配屏幕宽度和 适配屏幕高度导致Widget组件失效的问题
开发语言·javascript·ecmascript
JSON_L13 小时前
Vue 电影导航组件
前端·javascript·vue.js
xptwop15 小时前
05-ES6
前端·javascript·es6
Heo15 小时前
调用通义千问大模型实现流式对话
前端·javascript·后端