追加知識・参考資料

研修期間内に時間が余った場合、または研修後の自己学習用のトピックです。
LWC、REST API、外部連携など、発展的な内容を学習できます。

任意 自己学習 LWC REST API Callout Trailhead
3
技術トピック
10+
学習リソース
4
Trailhead
5+
社内ドキュメント
📚
このページの内容は任意の学習です。研修の必須項目ではありませんが、より深く理解したい方におすすめです。

Lightning Web Components

最新UIフレームワーク

🌐

REST API 作成

@RestResource

🔗

外部API連携

HTTP Callout

🎓

Trailhead

推奨学習パス

⚡ 1. Lightning Web Components(LWC)

LWC とは

Salesforceの最新UIフレームワークです。HTML、JavaScript、CSSを使用してカスタムコンポーネントを作成できます。

基本構成

myComponent/
├── myComponent.html # テンプレート
├── myComponent.js # JavaScript
├── myComponent.css # スタイル
└── myComponent.js-meta.xml # メタデータ

基本構文

HTML テンプレート

myComponent.html
<!-- myComponent.html -->
<template>
    <lightning-card title="My Component">
        <p>{greeting}</p>
        <lightning-button label="Click" onclick={handleClick}></lightning-button>
    </lightning-card>
</template>

JavaScript コントローラ

myComponent.js
// myComponent.js
import { LightningElement, api, wire } from 'lwc';
import getAccounts from '@salesforce/apex/AccountController.getAccounts';

export default class MyComponent extends LightningElement {
    @api recordId;
    greeting = 'Hello World';

    @wire(getAccounts)
    accounts;

    handleClick() {
        this.greeting = 'Clicked!';
    }
}
💡
ポイント:
  • @api - 親コンポーネントから値を受け取る
  • @wire - Apexメソッドやレコードを自動取得
  • @track - リアクティブなプロパティ(オブジェクト/配列用)
LWC 詳細リソース

🌐 2. REST API 作成

@RestResource

ApexクラスをREST APIとして公開できます。外部システムからSalesforceのデータにアクセスする場合に使用します。

MyRestApi.cls
@RestResource(urlMapping='/myapi/*')
global class MyRestApi {
    @HttpGet
    global static String doGet() {
        RestRequest req = RestContext.request;
        String id = req.requestURI.substring(req.requestURI.lastIndexOf('/') + 1);
        return 'GET: ' + id;
    }

    @HttpPost
    global static String doPost(String name) {
        return 'POST: ' + name;
    }
}
アノテーションHTTPメソッド用途
@HttpGetGETデータ取得
@HttpPostPOSTデータ作成
@HttpPutPUTデータ更新(全体)
@HttpPatchPATCHデータ更新(一部)
@HttpDeleteDELETEデータ削除

🔗 3. 外部API連携(Callout)

HTTP Callout

Salesforceから外部APIを呼び出す場合に使用します。

ExternalApiService.cls
public class ExternalApiService {
    @future(callout=true)
    public static void callExternalApi(String endpoint) {
        HttpRequest req = new HttpRequest();
        req.setEndpoint(endpoint);
        req.setMethod('GET');
        req.setHeader('Content-Type', 'application/json');

        Http http = new Http();
        HttpResponse res = http.send(req);

        if (res.getStatusCode() == 200) {
            String body = res.getBody();
            // JSON パース等の処理
        }
    }
}

名前付き資格情報(Named Credential)

外部APIの認証情報を安全に管理する機能です。

Named Credential 使用例
HttpRequest req = new HttpRequest();
req.setEndpoint('callout:MyNamedCredential/api/v1/resource');
req.setMethod('GET');
⚠️
注意: Calloutを使用する前に、リモートサイト設定で外部URLを許可する必要があります。
Setup → Remote Site Settings で登録してください。

🎓 4. 学習リソース

Trailhead(推奨学習パス)

レベルトレイルリンク
初級 システム管理者初級 Trailhead
初級 Salesforce Classic の CRM の基礎学習 Trailhead
初級 Lightning Experience の CRM の基礎学習 Trailhead
中級 LWC Basics Trailhead

公式ドキュメント

📚 5. 参考資料

社内ドキュメント

doc/Architecture.md

システムアーキテクチャ

doc/manual/DEVELOPMENT-GUIDE.md

開発ガイド

.ai/instructions/main.md

プロジェクト指示書

.ai/instructions/code-generation.md

コード生成規約

Salesforce 公式

Trailhead(学習)

✅ 追加学習チェックリスト

以下は任意の学習項目です。興味のある分野から取り組んでください。

  • LWCの基本構成を理解した
  • LWCでApexを呼び出す方法を理解した
  • REST APIの作成方法を理解した
  • 外部APIへのCallout方法を理解した
  • 名前付き資格情報を理解した
  • Trailheadで少なくとも1つのモジュールを完了した