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

相关推荐
练习两年半的工程师1 小时前
使用React和google gemini api 打造一个google gemini应用
javascript·人工智能·react.js
勘察加熊人2 小时前
angular九宫格ui
javascript·ui·angular.js
左钦杨4 小时前
Nuxt2 vue 给特定的页面 body 设置 background 不影响其他页面
前端·javascript·vue.js
烛阴5 小时前
JavaScript 调度:setTimeout 和 setInterval
前端·javascript
難釋懷5 小时前
JavaScript基础-获取元素
开发语言·javascript
beibeibeiooo6 小时前
【ES6】04-对象 + 类 + 模板字符串 + 解构 + 字符串
前端·javascript·es6
imkaifan6 小时前
7、vue3做了什么
javascript·vue.js·ecmascript
冴羽6 小时前
SvelteKit 最新中文文档教程(6)—— 状态管理
前端·javascript·svelte
徐小黑ACG6 小时前
个人blog系统 前后端分离 前端js后端go
开发语言·前端·javascript·vue.js·golang
拉不动的猪7 小时前
刷刷题39(同一组件中的不同的标签页如何实现通信)
前端·javascript·面试