1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

TrailheadのApexインテグレーションサービスで苦労した点

Last updated at Posted at 2022-02-02

##前提
・今回の備忘録は下記のModule
https://trailhead.salesforce.com/ja/content/learn/modules/apex_integration_services/apex_integration_webservices
・筆者のレベルは最近Rangerになったばかりの初心者
・RESTのこともよくわかってない
・回答は載せない(あくまでもつまづきポイントのみ)
##苦労ポイントその1
参照関係があることにより特殊なURLMappingが必要だった。

Module内ではCaseを指定するだけで良かったためURLのマッピングがシンプルで良かった。
しかし、ハンズオンでは参照関係のあるAccountとContactを意識しなければならないのでどのようなURLになるかを知っている必要がある。

誤答

wrongcode.apxc
@RestResource(urlMapping='Accounts')

正答

rightcode.apxc
@RestResource(urlMapping='/Accounts/*/contacts')

##苦労ポイントその2
AccountIdを取り出すのに間に挟まれたIdを取る方法がわからなかった。

その1からURLは下記のような構造になり、Trailを進めているだけではわからなかった。

url
'https://yourdomain.my.salesforce.com/services/apexrest/Accounts/' + AccountId + '/contacts';

取り出し方は

getAccountId.apxc
String accountId = request.requestURI.substringBetween('/Accounts/', '/contacts');

##以上
Trailheadはこういうところで躓く人が自分以外にもいるんじゃないかと思って記事を作成してみました。
これで少しでもハンズオンチャレンジで余計な時間をかける人が減ればなと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?