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

相关推荐
这儿有一堆花7 小时前
前端三件套真的落后了吗?揭开现代 Web 开发的底层逻辑
前端·javascript·css·html5
.Cnn8 小时前
JavaScript 前端基础笔记(网页交互核心)
前端·javascript·笔记·交互
醉酒的李白、8 小时前
Vue3 组件通信本质:Props 下发,Emits 回传
前端·javascript·vue.js
小芝麻咿呀9 小时前
vue--面试题第一部分
前端·javascript·vue.js
nibabaoo10 小时前
前端开发攻略---H5页面手机获取摄像头权限回显出画面并且同步到PC页面
javascript·websocket·实时音视频·实时同步·录制
早起傻一天~G10 小时前
vue2+element-UI表格封装
javascript·vue.js·ui
这儿有一堆花10 小时前
深入解析 Video.js:现代 Web 视频播放的工程实践
前端·javascript·音视频
烤麻辣烫10 小时前
JS基础
开发语言·前端·javascript·学习
猫猫不是喵喵.12 小时前
layui表单项次大数据量导入并提交
前端·javascript·layui
Hello--_--World13 小时前
ES13:类私有属性和方法、顶层 await、at() 方法、Object.hasOwnProperty()、类静态块 相关知识点
开发语言·javascript·es13