How do their APIs compare?
How do their APIs compare?
About novicezk/midjourney-proxy · 2 messages · last activity 9/7/2026
Since both retrieved sets are quite different in nature (one is a single API-driven service, the other a collection of independent Spring Boot demo modules), here's how their "APIs" compare based on what's in the repository data:
novicezk/midjourney-proxy — a purpose-built REST API
This repo exposes a coherent HTTP API for driving MidJourney via Discord, built around a submission/result model:
- Submission DTOs: Requests are modeled as typed DTOs, e.g.
SubmitImagineDTOfor the Imagine command [src/main/java/com/github/novicezk/midjourney/dto/SubmitImagineDTO.java:L1-L13],SubmitDescribeDTOfor Describe [src/main/java/com/github/novicezk/midjourney/dto/SubmitDescribeDTO.java:L1-L10], andSubmitSimpleChangeDTOfor variation/change actions [src/main/java/com/github/novicezk/midjourney/dto/SubmitSimpleChangeDTO.java:L1-L11]. Each uses Swagger annotations (@ApiModel) for API documentation and Lombok's@Data/@EqualsAndHashCodefor boilerplate. - Uniform response envelope: All submissions return a
SubmitResultVOwith a status code (1=submitted, 21=already exists, 22=queued, other=error), a description, a task ID (result), and an extensiblepropertiesmap for additional fields [src/main/java/com/github/novicezk/midjourney/result/SubmitResultVO.java:L12-L63]. This gives the API a consistent, predictable shape across all endpoints. - Auth: Access is gated by an interceptor,
ApiAuthorizeInterceptor, which checks themj.api-secretheader per the README's configuration section [src/main/java/com/github/novicezk/midjourney/support/ApiAuthorizeInterceptor.java:L1-L15]. - Real-time backing: Behind the HTTP API sits a Discord WebSocket integration (
SpringUserWebSocketStarter,SpringWebSocketHandler) that maintains the account connection, handles heartbeats/reconnects, and dispatches gateway events like READY/RESUMED back into task processing [src/main/java/com/github/novicezk/midjourney/wss/user/SpringUserWebSocketStarter.java:L105-L184, src/main/java/com/github/novicezk/midjourney/wss/user/SpringWebSocketHandler.java:L114-L153].
So this is a single, cohesive external-facing API surface: submit a task, poll/receive a task ID and status, with the Discord protocol details hidden behind it.
wuyouzhuguli/springall — many small, independent demo APIs
This repo isn't one API; it's a set of ~40 numbered standalone Spring Boot modules, each demonstrating one technology in isolation. The retrieved examples show simple, module-specific endpoints rather than a unified interface:
08.Spring-Boot-Thymeleaf'sIndexControllerexposes a single/accountendpoint that just populates a model with hardcodedAccountobjects for view rendering [08.Spring-Boot-Thymeleaf/src/main/java/com/springboot/controller/IndexController.java:L13-L26] — this is server-side page rendering, not a JSON API.- Other modules (
09.Spring-Boot-Redis-Cache,10.Spring-Boot-Ehcache-Cache) don't expose HTTP endpoints in the retrieved code at all — they're tested via JUnit (ApplicationTest) calling aStudentServicedirectly, showing caching behavior rather than API design [09.Spring-Boot-Redis-Cache/src/main/java/com/springboot/ApplicationTest.java:L14-L40, 10.Spring-Boot-Ehcache-Cache/src/main/java/com/springboot/ApplicationTest.java:L15-L43]. 11.Spring-Boot-Shiro-Authenticationconfigures URL-based access rules (/css/**anon,/**authc) viaShiroConfig, showing how each module bolts on cross-cutting concerns like security independently [11.Spring-Boot-Shiro-Authentication/src/main/java/com/springboot/config/ShiroConfig.java:L14-L54].- Utility
Want to ask your own question?
Open chat for novicezk/midjourney-proxyPublic Q&A. Generated by RepoPilot from the actual source of novicezk/midjourney-proxy. AI answers can be incomplete or stale — verify before relying on them.