--- kind: CONCEPT slug: adapter-inbound-web-c17 title: ndjson 스위치 하나가 두 능력을 함께 켠다 topic: capability-and-disclosure-models project: clean-architecture-backend-template status: 게시 전 sourceRevision: 21234e38cdb9a926cbc92bb97a2aee2e4a7d2916 rootTreeNode: concept:adapter-inbound-web-c17 evidenceCapturedOn: 2026-09-01 assets: - key: adapter-inbound-web-c17 file: ../../../final/evidence/rendered/adapter-inbound-web-c17.svg evidence: - ../../../final/evidence/raw/adapter-inbound-web-c17.txt source: - 원본 분석 절은 final/document.md#a14#L1255 이다. module: adapter-inbound-web --- # ndjson 스위치 하나가 두 능력을 함께 켠다 `NDJSON`과 `JSON_SEQUENCE`는 enum에서 서로 다른 상수이고 각자 프로퍼티 이름을 갖는데, 실제 조건은 `ndjson` 하나뿐이라 둘이 함께 켜진다. ## 본문 조건이 붙은 자리는 하나다. ```java // advanced/mvc/MvcStreamingExecutorConfiguration.java:14-15, 36-39 /** Wires servlet-side record streaming: NDJSON and RFC 7464 JSON text sequences. */ @ConditionalOnProperty(prefix = "backend.web.advanced.ndjson", name = "enabled", havingValue = "true") ``` `NDJSON`과 `JSON_SEQUENCE`는 enum에서 서로 다른 상수이고 각자 프로퍼티 이름을 갖는데, 실제로는 `ndjson` 스위치 하나가 둘을 함께 켠다. ## javadoc이 금지한 형태 `WebAdvancedFeature`의 javadoc이 그 형태를 금지한다 — "A single switch would make those one decision." ## WebAdvancedFeature 참조 위치 :::evidence key="adapter-inbound-web-c17" alt="코드베이스에서 WebAdvancedFeature 를 검색한 출력 5줄. 이 기록이 세는 참조가 그 출력에 그대로 보인다." caption="WebAdvancedFeature 코드베이스 검색 — 5줄 · exit 0" zoom="true" :::