d2-02-api-service について
up-api の CRUD エンドポイントで公開されるエンティティ向けに、HttpClient を使う Angular サービスを作成するスキルです。対象エンティティが未確定なら確認し、この手順では再デプロイは不要です。
主な機能
- 01Angular サービスのテンプレート
- 02エンティティ別 CRUD サービス
- 03HttpClient の設定案内
活用シーン
- 01up-api のエンティティ用サービス作成
- 02app.config.ts での provideHttpClient 登録
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ softinter-chiangrai/ up-ai-skill-training --skill d2-02-api-serviceインストール後、Claude Code で/d2-02-api-serviceを入力して読み込まれたか確認します。
詳細
2日目・ステップ 2 — API サービス
この会話でエンティティがまだ確定していない場合は、どのエンティティかを確認します(up-api の CRUD エンドポイントで公開されているものと一致する必要があります)。
up-app/src/app/services/<entity>.service.ts:
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
export interface <Entity> {
id?: number;
// one field per column from the Day 1 entity spec
}
@Injectable({ providedIn: 'root' })
export class <Entity>Service {
private base = 'http://localhost:8080/api/<entity>s';
constructor(private http: HttpClient) {}
getAll(): Observable<<Entity>[]> { return this.http.get<<Entity>[]>(this.base); }
getById(id: number): Observable<<Entity>> { return this.http.get<<Entity>>(`${this.base}/detail/${id}`); }
save(item: <Entity>): Observable<<Entity>> { return this.http.post<<Entity>>(`${this.base}/save`, item); }
update(id: number, item: <Entity>): Observable<<Entity>> { return this.http.put<<Entity>>(`${this.base}/update/${id}`, item); }
delete(id: number): Observable<void> { return this.http.delete<void>(`${this.base}/${id}`); }
}
まだ登録されていない場合は、app.config.ts に provideHttpClient() を登録します。このステップでは再デプロイは不要です。
コメント
Markdown 対応