[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"workflow-asset-ce628bdc":3,"seo:featured-workflow:ce628bdc-4db8-11f1-9bc6-00163e2b0d79:zh":84,"workflow-related-asset-ce628bdc-ce628bdc-4db8-11f1-9bc6-00163e2b0d79":85},{"id":4,"uuid":5,"slug":6,"title":7,"description":8,"author_id":9,"author_name":10,"author_avatar":11,"token_estimate":12,"time_saved":12,"model_used":11,"fork_count":12,"vote_count":12,"view_count":13,"parent_id":12,"parent_uuid":11,"lang_type":14,"steps":15,"tags":22,"has_voted":28,"visibility":18,"share_token":11,"is_featured":12,"content_hash":29,"asset_kind":30,"target_tools":31,"install_mode":35,"entrypoint":19,"risk_profile":36,"dependencies":38,"verification":43,"agent_metadata":46,"agent_fit":59,"trust":71,"provenance":80,"created_at":82,"updated_at":83},3206,"ce628bdc-4db8-11f1-9bc6-00163e2b0d79","asset-ce628bdc","Spark Java — Micro Framework for Building Web APIs in Java","Spark is a micro framework for Java inspired by Sinatra, letting developers create web applications and REST APIs with minimal boilerplate using a simple lambda-based DSL.","8a911193-3180-11f1-9bc6-00163e2b0d79","AI Open Source","",0,3,"en",[16],{"id":17,"step_order":18,"title":19,"description":11,"prompt_template":20,"variables":11,"depends_on":21,"expected_output":11},3769,1,"Spark Java Overview","# Spark Java — Micro Framework for Building Web APIs in Java\n\n## Quick Use\n```xml\n\u003Cdependency>\n  \u003CgroupId>com.sparkjava\u003C\u002FgroupId>\n  \u003CartifactId>spark-core\u003C\u002FartifactId>\n  \u003Cversion>2.9.4\u003C\u002Fversion>\n\u003C\u002Fdependency>\n```\n\n```java\nimport static spark.Spark.*;\n\npublic class App {\n    public static void main(String[] args) {\n        get(\"\u002Fhello\u002F:name\", (req, res) ->\n            \"Hello, \" + req.params(\":name\"));\n    }\n}\n```\n\n## Introduction\nSpark Java (not to be confused with Apache Spark) is a micro web framework for Java 8+ that brings Sinatra-style simplicity to the JVM. It uses Java lambdas to define routes in just a few lines, making it a practical choice for small services, prototypes, and lightweight REST APIs where Spring Boot would be overkill.\n\n## What Spark Java Does\n- Defines routes using lambda expressions with a minimal DSL\n- Embeds a Jetty server so applications run standalone with no WAR deployment\n- Supports before\u002Fafter filters for cross-cutting concerns like authentication\n- Renders HTML via pluggable template engines (Freemarker, Mustache, Thymeleaf)\n- Serves static files from the classpath or filesystem\n\n## Architecture Overview\nSpark embeds Jetty as its HTTP server and maps incoming requests against a route table using method and path pattern matching. Each route is a lambda that receives a Request and Response object and returns the response body directly. Filters run before or after matched routes, and exception mappers convert thrown exceptions into HTTP responses. The entire framework fits in a small JAR with few dependencies.\n\n## Self-Hosting & Configuration\n- Add the Maven or Gradle dependency; no application server required\n- Set the port with `port(8080)` before defining routes\n- Configure TLS with `secure(\"keystore.jks\", \"password\", null, null)`\n- Serve static files with `staticFiles.location(\"\u002Fpublic\")` for classpath resources\n- Enable GZIP compression by setting response headers in an after-filter\n\n## Key Features\n- Entire route setup in under 10 lines of code with lambda syntax\n- Embedded Jetty server starts in under a second\n- WebSocket support via `webSocket(\"\u002Fws\", handler)`\n- Template engine integration for server-rendered pages\n- Tiny footprint with minimal transitive dependencies\n\n## Comparison with Similar Tools\n- **Spring Boot** — full enterprise framework with dependency injection, far heavier for simple APIs\n- **Javalin** — similar micro approach, built on Jetty, adds Kotlin support and OpenAPI\n- **Micronaut** — compile-time DI with low startup, more suited for microservice architectures\n- **Vert.x** — reactive and event-driven, higher throughput but steeper learning curve\n\n## FAQ\n**Q: Is Spark Java the same as Apache Spark?**\nA: No. Spark Java is a web framework. Apache Spark is a big data processing engine. They share only the name.\n\n**Q: Does Spark Java support async or reactive programming?**\nA: No. Spark uses a synchronous thread-per-request model via Jetty. For reactive workloads consider Vert.x or Spring WebFlux.\n\n**Q: Can Spark Java be used in production?**\nA: Yes, for small to medium services. For large-scale enterprise applications with complex dependency graphs, a full framework is more appropriate.\n\n**Q: Does Spark Java support dependency injection?**\nA: Not built-in. You can integrate Guice or Dagger manually if needed.\n\n## Sources\n- https:\u002F\u002Fgithub.com\u002Fperwendel\u002Fspark\n- https:\u002F\u002Fsparkjava.com","0",[23],{"id":24,"name":25,"slug":26,"icon":27},12,"Configs","config","⚙️",false,"c06df344981b8644cf4435f7852506eddbf0ca5778ae98e0f00210c54e0ec63a","skill",[32,33,34],"claude_code","codex","gemini_cli","single",{"executes_code":28,"modifies_global_config":28,"requires_secrets":37,"uses_absolute_paths":28,"network_access":28},[],{"npm":39,"pip":40,"brew":41,"system":42},[],[],[],[],{"commands":44,"expected_files":45},[],[19],{"asset_kind":30,"target_tools":47,"install_mode":35,"entrypoint":19,"risk_profile":48,"dependencies":50,"content_hash":29,"verification":55,"inferred":58},[32,33,34],{"executes_code":28,"modifies_global_config":28,"requires_secrets":49,"uses_absolute_paths":28,"network_access":28},[],{"npm":51,"pip":52,"brew":53,"system":54},[],[],[],[],{"commands":56,"expected_files":57},[],[19],true,{"target":33,"score":60,"status":61,"policy":62,"why":63,"asset_kind":30,"install_mode":35},98,"native","allow",[64,65,66,67,68,69,70],"target_tools includes codex","asset_kind skill","install_mode single","markdown-only","policy allow","safe markdown-only Codex install","trust established",{"author_trust_level":72,"verified_publisher":28,"asset_signed_hash":29,"signature_status":73,"install_count":12,"report_count":12,"dangerous_capability_badges":74,"review_status":75,"signals":76},"established","hash_only",[],"unreviewed",[77,78,79],"author has published assets","content hash available","no dangerous capability badges",{"owner_uuid":9,"owner_name":10,"source_url":81,"content_hash":29,"visibility":18,"created_at":82,"updated_at":83},"https:\u002F\u002Ftokrepo.com\u002Fen\u002Fworkflows\u002Fasset-ce628bdc","2026-05-12 12:12:35","2026-05-12 19:49:09",null,[86,138,184,232],{"id":87,"uuid":88,"slug":89,"title":90,"description":91,"author_id":9,"author_name":10,"author_avatar":11,"token_estimate":12,"time_saved":12,"model_used":11,"fork_count":12,"vote_count":12,"view_count":92,"parent_id":12,"parent_uuid":11,"lang_type":14,"steps":93,"tags":94,"has_voted":28,"visibility":18,"share_token":11,"is_featured":12,"content_hash":96,"asset_kind":30,"target_tools":97,"install_mode":35,"entrypoint":98,"risk_profile":99,"dependencies":101,"verification":106,"agent_metadata":109,"agent_fit":121,"trust":123,"provenance":126,"created_at":128,"updated_at":129,"__relatedScore":130,"__relatedReasons":131,"__sharedTags":136},2403,"5a8cdf92-446d-11f1-9bc6-00163e2b0d79","dropwizard-production-ready-java-rest-framework-5a8cdf92","Dropwizard — Production-Ready Java REST Framework","An opinionated Java framework that bundles Jetty, Jersey, Jackson, and Metrics into a single package for building RESTful web services.",97,[],[95],{"id":24,"name":25,"slug":26,"icon":27},"14a3035ee7526969d75abcca001724957ace3e9a12ed9e1729a84157aa71ff40",[32,33,34],"Dropwizard Overview",{"executes_code":28,"modifies_global_config":28,"requires_secrets":100,"uses_absolute_paths":28,"network_access":28},[],{"npm":102,"pip":103,"brew":104,"system":105},[],[],[],[],{"commands":107,"expected_files":108},[],[98],{"asset_kind":30,"target_tools":110,"install_mode":35,"entrypoint":98,"risk_profile":111,"dependencies":113,"content_hash":96,"verification":118},[32,33,34],{"executes_code":28,"modifies_global_config":28,"requires_secrets":112,"uses_absolute_paths":28,"network_access":28},[],{"npm":114,"pip":115,"brew":116,"system":117},[],[],[],[],{"commands":119,"expected_files":120},[],[98],{"target":33,"score":60,"status":61,"policy":62,"why":122,"asset_kind":30,"install_mode":35},[64,65,66,67,68,69,70],{"author_trust_level":72,"verified_publisher":28,"asset_signed_hash":96,"signature_status":73,"install_count":12,"report_count":12,"dangerous_capability_badges":124,"review_status":75,"signals":125},[],[77,78,79],{"owner_uuid":9,"owner_name":10,"source_url":127,"content_hash":96,"visibility":18,"created_at":128,"updated_at":129},"https:\u002F\u002Ftokrepo.com\u002Fen\u002Fworkflows\u002Fdropwizard-production-ready-java-rest-framework-5a8cdf92","2026-04-30 16:19:48","2026-05-12 10:53:09",123.98683911353874,[132,133,134,135],"topic-match","same-kind","same-target","same-author",[26,137],"configs",{"id":139,"uuid":140,"slug":141,"title":142,"description":143,"author_id":9,"author_name":10,"author_avatar":11,"token_estimate":12,"time_saved":12,"model_used":11,"fork_count":12,"vote_count":12,"view_count":13,"parent_id":12,"parent_uuid":11,"lang_type":14,"steps":144,"tags":145,"has_voted":28,"visibility":18,"share_token":11,"is_featured":12,"content_hash":147,"asset_kind":30,"target_tools":148,"install_mode":35,"entrypoint":149,"risk_profile":150,"dependencies":152,"verification":157,"agent_metadata":160,"agent_fit":172,"trust":174,"provenance":177,"created_at":179,"updated_at":180,"__relatedScore":181,"__relatedReasons":182,"__sharedTags":183},3210,"1bcc1850-4db9-11f1-9bc6-00163e2b0d79","asset-1bcc1850","Javalin — Simple Lightweight Web Framework for Java and Kotlin","Javalin is a lightweight web framework for Java and Kotlin built on top of Jetty, designed for simplicity with a small learning curve and first-class support for both languages.",[],[146],{"id":24,"name":25,"slug":26,"icon":27},"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",[32,33,34],"SKILL.md",{"executes_code":28,"modifies_global_config":28,"requires_secrets":151,"uses_absolute_paths":28,"network_access":28},[],{"npm":153,"pip":154,"brew":155,"system":156},[],[],[],[],{"commands":158,"expected_files":159},[],[],{"asset_kind":30,"target_tools":161,"install_mode":35,"entrypoint":149,"risk_profile":162,"dependencies":164,"content_hash":147,"verification":169,"inferred":58},[32,33,34],{"executes_code":28,"modifies_global_config":28,"requires_secrets":163,"uses_absolute_paths":28,"network_access":28},[],{"npm":165,"pip":166,"brew":167,"system":168},[],[],[],[],{"commands":170,"expected_files":171},[],[],{"target":33,"score":60,"status":61,"policy":62,"why":173,"asset_kind":30,"install_mode":35},[64,65,66,67,68,69,70],{"author_trust_level":72,"verified_publisher":28,"asset_signed_hash":147,"signature_status":73,"install_count":12,"report_count":12,"dangerous_capability_badges":175,"review_status":75,"signals":176},[],[77,78,79],{"owner_uuid":9,"owner_name":10,"source_url":178,"content_hash":147,"visibility":18,"created_at":179,"updated_at":180},"https:\u002F\u002Ftokrepo.com\u002Fen\u002Fworkflows\u002Fasset-1bcc1850","2026-05-12 12:14:45","2026-05-12 19:50:22",123.90308998699194,[132,133,134,135],[26,137],{"id":185,"uuid":186,"slug":187,"title":188,"description":189,"author_id":9,"author_name":10,"author_avatar":11,"token_estimate":12,"time_saved":12,"model_used":11,"fork_count":12,"vote_count":12,"view_count":190,"parent_id":12,"parent_uuid":11,"lang_type":14,"steps":191,"tags":192,"has_voted":28,"visibility":18,"share_token":11,"is_featured":12,"content_hash":194,"asset_kind":30,"target_tools":195,"install_mode":35,"entrypoint":196,"risk_profile":197,"dependencies":199,"verification":204,"agent_metadata":207,"agent_fit":219,"trust":221,"provenance":225,"created_at":227,"updated_at":228,"__relatedScore":229,"__relatedReasons":230,"__sharedTags":231},2319,"4dd41bfe-433f-11f1-9bc6-00163e2b0d79","mybatis-sql-mapping-framework-java-4dd41bfe","MyBatis — SQL Mapping Framework for Java","A persistence framework that maps SQL statements to Java methods, giving developers full control over queries while eliminating most JDBC boilerplate.",137,[],[193],{"id":24,"name":25,"slug":26,"icon":27},"171524d7a737bbb00af2a715f2d87260857dd2914d18bb70f9863a6203120f9a",[32,33,34],"MyBatis Overview",{"executes_code":28,"modifies_global_config":28,"requires_secrets":198,"uses_absolute_paths":28,"network_access":28},[],{"npm":200,"pip":201,"brew":202,"system":203},[],[],[],[],{"commands":205,"expected_files":206},[],[196],{"asset_kind":30,"target_tools":208,"install_mode":35,"entrypoint":196,"risk_profile":209,"dependencies":211,"content_hash":194,"verification":216},[32,33,34],{"executes_code":28,"modifies_global_config":28,"requires_secrets":210,"uses_absolute_paths":28,"network_access":28},[],{"npm":212,"pip":213,"brew":214,"system":215},[],[],[],[],{"commands":217,"expected_files":218},[],[196],{"target":33,"score":60,"status":61,"policy":62,"why":220,"asset_kind":30,"install_mode":35},[64,65,66,67,68,69,70],{"author_trust_level":72,"verified_publisher":28,"asset_signed_hash":194,"signature_status":73,"install_count":12,"report_count":12,"dangerous_capability_badges":222,"review_status":75,"signals":223},[],[224,77,78,79],"asset has usage views",{"owner_uuid":9,"owner_name":10,"source_url":226,"content_hash":194,"visibility":18,"created_at":227,"updated_at":228},"https:\u002F\u002Ftokrepo.com\u002Fen\u002Fworkflows\u002Fmybatis-sql-mapping-framework-java-4dd41bfe","2026-04-29 04:17:39","2026-05-12 02:37:32",109.20981862960186,[132,133,134,135],[26,137],{"id":233,"uuid":234,"slug":235,"title":236,"description":237,"author_id":9,"author_name":10,"author_avatar":11,"token_estimate":12,"time_saved":12,"model_used":11,"fork_count":12,"vote_count":12,"view_count":238,"parent_id":12,"parent_uuid":11,"lang_type":14,"steps":239,"tags":240,"has_voted":28,"visibility":18,"share_token":11,"is_featured":12,"content_hash":242,"asset_kind":30,"target_tools":243,"install_mode":35,"entrypoint":244,"risk_profile":245,"dependencies":247,"verification":252,"agent_metadata":255,"agent_fit":267,"trust":269,"provenance":272,"created_at":274,"updated_at":275,"__relatedScore":276,"__relatedReasons":277,"__sharedTags":278},2245,"eb61c45d-4277-11f1-9bc6-00163e2b0d79","mockito-most-popular-java-mocking-framework-eb61c45d","Mockito — The Most Popular Java Mocking Framework","Mockito lets Java developers create clean mock objects and verify interactions with a simple, readable API.",81,[],[241],{"id":24,"name":25,"slug":26,"icon":27},"7111543e23a334ee966a92d70d1e8d643ba6bda90ad9babb93a9f494569f0817",[32,33,34],"Mockito Overview",{"executes_code":28,"modifies_global_config":28,"requires_secrets":246,"uses_absolute_paths":28,"network_access":28},[],{"npm":248,"pip":249,"brew":250,"system":251},[],[],[],[],{"commands":253,"expected_files":254},[],[244],{"asset_kind":30,"target_tools":256,"install_mode":35,"entrypoint":244,"risk_profile":257,"dependencies":259,"content_hash":242,"verification":264},[32,33,34],{"executes_code":28,"modifies_global_config":28,"requires_secrets":258,"uses_absolute_paths":28,"network_access":28},[],{"npm":260,"pip":261,"brew":262,"system":263},[],[],[],[],{"commands":265,"expected_files":266},[],[244],{"target":33,"score":60,"status":61,"policy":62,"why":268,"asset_kind":30,"install_mode":35},[64,65,66,67,68,69,70],{"author_trust_level":72,"verified_publisher":28,"asset_signed_hash":242,"signature_status":73,"install_count":12,"report_count":12,"dangerous_capability_badges":270,"review_status":75,"signals":271},[],[77,78,79],{"owner_uuid":9,"owner_name":10,"source_url":273,"content_hash":242,"visibility":18,"created_at":274,"updated_at":275},"https:\u002F\u002Ftokrepo.com\u002Fen\u002Fworkflows\u002Fmockito-most-popular-java-mocking-framework-eb61c45d","2026-04-28 04:30:24","2026-05-12 14:19:16",105.87072077857557,[132,133,134,135],[26,137]]