
throw 없이 — req.error 응답 3가지 #shorts #SAP #CAP
개요와 이번 글에서 다루는 것 CAP(Cloud Application Programming Model) for Node.js 서비스를 운영하다 보면 클라이언트에 "이 주문은 재고가 부족합니다", "이 고객 등급은 할인이 적용되지 않습니다" 같은 메시지를 전달해야 하는 경우가 자주 발생합

개요와 이번 글에서 다루는 것 CAP(Cloud Application Programming Model) for Node.js 서비스를 운영하다 보면 클라이언트에 "이 주문은 재고가 부족합니다", "이 고객 등급은 할인이 적용되지 않습니다" 같은 메시지를 전달해야 하는 경우가 자주 발생합

개요 및 이 글에서 다룰 내용 CAP(Cloud Application Programming Model) for Node.js에서 srv.run() 은 서비스 인스턴스를 통해 CQN(Core Query Notation) 쿼리를 직접 실행하는 핵심 API입니다. 이 글에서는 트랜잭션 컨텍스

이 글이 답하는 질문 CAP에서 외부 OData 서비스를 연결하려면? 서드파티 API를 CAP 쿼리처럼 쓸 수 있나? RemoteService 3단계 1. CDS에서 외부 서비스 선언 // srv/external.cds using { northwind } from '../srv/exte
왜 Destination Service인가? CAP 프로젝트에서 외부 URL을 코드에 직접 박으면 환경마다 배포 설정을 바꿔야 하고 자격증명이 노출됩니다. BTP Destination Service를 쓰면 URL·인증 정보를 Cockpit에서 관리하고 코드는 이름만 참조합니다. mta.
이 글이 답하는 질문 CAP 프로젝트에서 초기 데이터를 자동으로 로드하려면? CSV Seed 파일명은 어떻게 지어야 하나? 초기 데이터 로드가 안 될 때 어디를 봐야 하나? CSV Seed란 CAP(Cloud Application Programming Model)에서 앱 시작 시 DB에
이 글이 답하는 질문 DB 컬럼을 추가하지 않고 계산된 값을 API 응답에 포함하려면? CDS virtual element와 projection 계산식, 어느 걸 써야 하나? 직접 해보기 1. CDS에서 virtual element 선언 entity에 virtual 키워드를 붙이면 DB

이 글이 답하는 질문 CAP 운영 환경에서 DB 컬럼을 삭제하면 어떤 일이 벌어지나? 안전한 마이그레이션 순서는 무엇인가? 컬럼 삭제 없이 스키마를 정리하는 방법은? 왜 위험한가 CAP 프로젝트에서 CDS 엔티티의 컬럼을 삭제하고 배포하면 HDI 마이그레이션이 해당 컬럼을 DB에서 즉시

이 글이 답하는 질문 CAP Node.js 앱을 SaaS로 만들려면 무엇이 필요한가? @sap/cds-mtxs 가 하는 일은 무엇인가? 테넌트 구독(Subscribe)부터 데이터 격리까지 어떻게 동작하는가? Single-tenant vs Multi-tenant 단일 테넌트 CAP 앱은
이 글이 답하는 질문 CAP CDS에서 @restrict를 빠뜨리면 실제로 무슨 일이 생기나? grant / to / where 는 언제 어떻게 쓰나? 인증된 사용자 vs 특정 역할 — 어떻게 구분해 제한하나? 직접 해보기 1. @restrict 없는 서비스 — 보안 구멍 // @res

CAP Pagination이란 SAP CAP for Node.js에서 OData 요청 시 $top과 $skip 파라미터로 페이지네이션을 구현합니다. CAP 런타임이 자동으로 처리합니다. OData 쿼리 파라미터 // 첫 번째 페이지 (10개) GET /Books?$top=10&$skip
이 글이 답하는 질문 CAP에서 Composition과 Association 중 어느 걸 써야 하나? 둘의 실제 동작 차이가 뭔가? Draft, cascade, OData expand에서 어떻게 달라지나? 핵심 차이 한눈에 Composition Association 관계 부모-자식 (강

CAP Localized Data란 CAP for Node는 다국어 데이터를 손쉽게 처리하기 위해 localized 키워드와 @cds.localized 어노테이션을 제공합니다. 엔티티 필드에 localized 를 붙이면 CAP 런타임이 자동으로 보조 텍스트 테이블을 생성하고, OData

이 글이 답하는 질문 CAP에서 Bound Action과 Unbound Action은 어떻게 다른가? 언제 Bound를 쓰고 언제 Unbound를 써야 하나? CDS 선언과 Node.js 핸들러는 어떻게 작성하나? Bound vs Unbound — 결정적 차이 Bound Action 은

TL;DR CAP for Node.js의 Draft Handling은 Fiori에서 사용자가 아직 확정하지 않은 임시 데이터를 관리하는 패턴입니다. CDS 어노테이션으로 활성화하고, SAVE/Activate 핸들러로 검증과 확정을 구현합니다. 이 글이 답하는 질문 CAP Draft Ha

TL;DR CAP for Node.js에서 before , on , after 핸들러는 실행 시점이 다릅니다. 검증은 before, 비즈니스 로직은 on, 후처리는 after에 넣는 것이 원칙입니다. 이 글이 답하는 질문 CAP Handler의 before/on/after는 언제 실행되
CAP Service란? CAP에서 Service는 OData 엔드포인트를 자동 생성하는 핵심 단위입니다. .cds 파일에 service 키워드 하나만 선언하면 CAP 런타임이 REST/OData API를 즉시 구성합니다. 기본 Service 정의 // srv/catalog-servic

Virtual Element란 CAP에서 Virtual Element는 DB 테이블에 실제 컬럼이 없지만 OData 응답에 노출되는 가상 필드입니다. 집계, 변환, 외부 데이터 조합 같은 파생 값을 스키마에 추가할 때 마이그레이션 없이 즉시 적용할 수 있는 점이 강점입니다. CDS 모델

CAP for Node.js 앱의 Approuter(xs-app.json) 라우트 설정 실수가 어떻게 인증을 통째로 우회시키는지 분석하고, 안전한 authenticationType·destination·csrfProtection 구성 패턴을 실전 코드로 정리합니다.
CAP에서 외부 서비스를 쓰는 방법 CAP(Cloud Application Programming Model) 애플리케이션에서 외부 REST API나 OData 서비스를 호출해야 할 때가 있습니다. 직접 HTTP 클라이언트를 설정하는 대신, CAP의 cds.connect.to() 를 사용

왜 cds.connect.to인가? CAP 앱에서 외부 REST API나 S/4HANA 서비스를 직접 axios 로 호출하면 인증 토큰 관리, BTP Destination 연동, 에러 핸들링을 모두 직접 구현해야 합니다. cds.connect.to() 를 쓰면 이 모든 과정이 단 한 줄