首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >JustSimple:一分钟上手的 Java Web API 开发库,轻量级、快速原型、极限编程的理想之选

JustSimple:一分钟上手的 Java Web API 开发库,轻量级、快速原型、极限编程的理想之选

原创
作者头像
洮羱芝闇
发布2025-08-14 15:20:14
发布2025-08-14 15:20:14
1590
举报

当你只想“把接口跑起来”,却被复杂的脚手架、无尽的配置和笨重的依赖拖住脚步,那种挫败感很真实。JustSimple 不是来替代一切的“王炸框架”,它只做一件事:让 Java Web API 开发简单到离谱,帮你把时间花在真正重要的业务上。

产品简介与定位

JustSimple 是一个“非常非常简单”的 Java Web API 开发库,强调零门槛、极简配置和极速启动,特别适合本地测试、简单接口、快速原型、极限编程、临时模型等场景。你可以在一分钟之内把一个 API 跑起来,天然适配跨语言转码、脚本生成接口等快速落地需求。 版本与包体持续演进,当前核心模块 justsimple-core 可直接通过 Maven 引入使用1。

为什么是 JustSimple(而不是再多一层复杂)

轻量级: 无复杂上下文、无臃肿依赖,Java Web API 直接起飞,适合快速研发与小体量服务。

零学习曲线: 注解驱动的 Controller/Handler,直觉式的 Context 请求上下文。

一分钟上手: 几行代码、一句启动,让 Demo、原型、Webhook、回调接口即时可测。

跨语言友好: 脚本/其他语言生成 Java 代码后立刻可用,避免“框架绑架”。

可插拔配置: 通过实例池/启动参数注入 CORS、端口等配置;代码配置优先级更高,所见即所得。

实用生态: 支持 CORS、Form/JSON 解析、原始 FullHttpRequest 访问;适配多种简易服务场景。

一分钟上手(依赖、启动、路由)

引入依赖(Maven)

xml

<dependencies>

<dependency>

<groupId>org.mutantcat.justsimple</groupId>

<artifactId>justsimple-core</artifactId>

<version>1.0.20250408</version>

</dependency>

</dependencies>

以上为官方推荐的核心依赖版本,直接可用。

启动类(一句话启动)

java

import org.mutantcat.justsimple.Application;

import org.mutantcat.justsimple.annotation.JustSimple;

@JustSimple // 可指定 packageName 为基础包包名

public class Main {

public static void main(String[] args) {

// 一句话启动

Application.start(Main.class, args);

}

}

控制器与路由(GET/POST/表单/原始请求)

java

import org.mutantcat.justsimple.annotation.Controller;

import org.mutantcat.justsimple.annotation.Handler;

import org.mutantcat.justsimple.request.Context;

@Controller

public class MyController {

@Handler(path = "/hello")

public String hello(Context ctx) {

// 获得 GET 请求的 params 参数

List<String> name = ctx.getParam("name");

// 获得 POST 请求携带的 JSON

String json = ctx.getJson();

// 获得 POST 请求携带的表单

Map<String, Object> formData = ctx.getFormData();

// 直接访问原始 FullHttpRequest

FullHttpRequest fullHttpRequest = ctx.getFullHttpRequest();

return "Hello, JustSimple!";

}

}

实例与配置(Instance 池、CORS、端口)

定义与使用实例(注解即注册)

java

import org.mutantcat.justsimple.annotation.Instance;

@Instance

public class MyInstance {

public String hello() {

return "Hello, JustSimple!";

}

}

手动存取实例

java

InstanceHandler.putInstance("MyInstance", this);

InstanceHandler.getInstance("MyInstance");

直接添加配置(启动前合并到 args)

java

import io.netty.handler.codec.http.HttpMethod;

import io.netty.handler.codec.http.cors.CorsConfig;

import io.netty.handler.codec.http.cors.CorsConfigBuilder;

import org.mutantcat.justsimple.instance.InstanceHandler;

public class ConfigHandler {

// 启动前调用:args = ConfigHandler.doConfig(args);

public static String[] doConfig(String[] args) {

CorsConfig corsConfig = CorsConfigBuilder.forAnyOrigin()

.allowNullOrigin()

.allowedRequestMethods(HttpMethod.GET, HttpMethod.POST, HttpMethod.PUT, HttpMethod.DELETE)

.allowedRequestHeaders("*")

.exposeHeaders("X-Custom-Header")

.maxAge(3600)

.build();

InstanceHandler.putInstance("CorsConfigInstanceName", corsConfig);

Integer port = 8082;

InstanceHandler.putInstance("portConfigName", port);

String[] newParams = {"corsConfig:CorsConfigInstanceName","port:portConfigName"};

String[] updatedArgs = new String[args.length + newParams.length];

System.arraycopy(args, 0, updatedArgs, 0, args.length);

System.arraycopy(newParams, 0, updatedArgs, args.length, newParams.length);

return updatedArgs;

}

}

通过实例添加配置(构造时即入池)

java

import io.netty.handler.codec.http.HttpMethod;

import io.netty.handler.codec.http.cors.CorsConfigBuilder;

import org.mutantcat.justsimple.annotation.Instance;

import org.mutantcat.justsimple.instance.InstanceHandler;

@Instance

public class CorsConfig {

public CorsConfig() {

InstanceHandler.putInstance("CorsConfigInstanceName",

CorsConfigBuilder.forAnyOrigin()

.allowNullOrigin()

.allowedRequestMethods(HttpMethod.GET, HttpMethod.POST, HttpMethod.PUT, HttpMethod.DELETE)

.allowedRequestHeaders("*")

.exposeHeaders("X-Custom-Header")

.maxAge(3600)

.build()

);

}

}

规则与最佳实践

包结构: Controller 类需放在 controller 包下,保持统一扫描规范。

配置格式: 使用“配置名:实例名”,如 corsConfig:CorsConfigInstanceName、port:portConfigName。

优先级: 代码配置 > 配置文件;自动注册的 @Instance > 启动语句前传入的配置。

配置文件: resources/application.yaml 为默认配置文件路径。

单例控制器: 需要单例时,可同时标注 @Instance 与 @Controller。

@Instance 说明: 注解类会自动在实例池中注册一个实例,可用 name 指定注册名(默认类路径)。

以上规范均来自官方说明与示例,便于快速对齐项目结构与启动约定。

典型落地场景

本地测试/简单接口: 快速暴露一个 Java Web API,联调更顺手。

快速原型/极限编程: 需求一变就能秒级调整,避免“重型框架启动成本”。

Webhook/回调服务: 轻装上阵,响应快,维护成本低。

AI/数据中间层: 作为模型调用、向量存取、函数工具接口的轻量网关。

IoT/边缘接口: 少量接口、强时效的网关场景,JustSimple 足够好用。

跨语言转码: 由脚本/其他语言生成 Java 代码后直接运行,减少框架知识负担。

获取与社区

官网: https://www.mutantcat.org/software/justsimple

GitHub: https://github.com/Mutantcat-Working-Group/JustSimple

示例仓库: https://github.com/tyza66/JustSimpleDemo

如果你正被“想要一个简单 API,却不得不搬起大山”的无力感困住,JustSimple 也许正是你要的那把轻便扳手。现在就拉一条分支、粘贴上面的代码,把第一个接口跑起来。

关键词

核心: Java Web API、Java API 框架、轻量级 Java 框架、JustSimple、Mutantcat、快速原型、极限编程、本地测试、简单接口、临时模型

功能: 注解驱动、Controller、Handler、Context、Instance、InstanceHandler、实例池、CORS、跨域、CorsConfig、端口配置、application.yaml

生态与场景: Webhook、回调接口、AI 中间层、数据网关、IoT、边缘计算、微服务接口、脚本转码、快速开发、零学习曲线

技术词: FullHttpRequest、JSON 解析、Form 表单、Netty CORS、启动参数、包扫描、单例控制器、包结构规范、代码配置优先级

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档