Slide 12
Slide 12 text
6|データアクセス層: HTTP と命名変換に専念
12
@Injectable({ providedIn: 'root' })
export class UpdateUserAPIService {
private readonly http = inject(HttpClient);
updateUser(params: UpdateUserParams): Observable {
const requestData = this.mapToApiRequestFormat(params); // camelCase → snake_case
return this.http
.put(this.apiUrl, requestData)
.pipe(catchError(this.handleError));
}
private mapToApiRequestFormat(p: UpdateUserParams): UpdateUserRequest {
return {
id: p.id,
name: p.name,
email: p.email,
phone_number: p.phoneNumber,
address: p.address,
};
}
}
● UpdateUserParams(フロント型・camelCase) と UpdateUserRequest(API 型・snake_case)を別
の型として定義
● 命名規則の違いはこの層のみが知っている