• User Maintenance
  • NEWBIE
  • 0 Points
  • Member since 2014

  • Chatter
    Feed
  • 0
    Best Answers
  • 1
    Likes Received
  • 0
    Likes Given
  • 1
    Questions
  • 0
    Replies
いつもお世話になっております。

掲題の件、初歩的な質問で申し訳ありませんがご回答のほどよろしくお願いいたします。

今回、Apex Rest を使用し、開発を行っています。
戻り値はJSONを想定しており、正常時とエラー時で戻り値が異なる為、RestResponseを使用しています。

以下、簡単なソースです。
    @HttpDelete
    global static void doDelete(){
      //戻り値
      RestResponse res = RestContext.response;

   //エラー時オブジェクト
      ErrorResult er;

         ・
     ・
         ・

   //ユーザーの削除を行う.
      CalloutResult r = model.deleteUser(id);
        if(r.result_code != 204){
            //失敗
            er = new ErrorResult(r.code,r.message);
            res.responseBody = Blob.valueOf(JSON.serialize(er));
            res.statusCode = r.status_code;
            return;
        }
      
          ・
          ・
          ・
}

ユーザーを削除するメソッドなのですが、まず、削除対象のIDを検索しています。
検索結果が0件の場合はHttpStatusを404で、ResponseBodyをErrorResultクラスのJSONで
返却しようとしています。
しかし、実際にはHttpStatus404で、ResponseBodyが、[{"errorCode":"NOT_FOUND","message":"The requested resource does not exist"}]
が返却されます。
returnの直前までDebugで確認が取れており、ErrorResultの値は正しくなっています。

結果が正しくErrorResult型にならないのはなぜでしょうか?
どなたか教えていただけると有難いです。

いつもお世話になっております。

掲題の件、初歩的な質問で申し訳ありませんがご回答のほどよろしくお願いいたします。

今回、Apex Rest を使用し、開発を行っています。
戻り値はJSONを想定しており、正常時とエラー時で戻り値が異なる為、RestResponseを使用しています。

以下、簡単なソースです。
    @HttpDelete
    global static void doDelete(){
      //戻り値
      RestResponse res = RestContext.response;

   //エラー時オブジェクト
      ErrorResult er;

         ・
     ・
         ・

   //ユーザーの削除を行う.
      CalloutResult r = model.deleteUser(id);
        if(r.result_code != 204){
            //失敗
            er = new ErrorResult(r.code,r.message);
            res.responseBody = Blob.valueOf(JSON.serialize(er));
            res.statusCode = r.status_code;
            return;
        }
      
          ・
          ・
          ・
}

ユーザーを削除するメソッドなのですが、まず、削除対象のIDを検索しています。
検索結果が0件の場合はHttpStatusを404で、ResponseBodyをErrorResultクラスのJSONで
返却しようとしています。
しかし、実際にはHttpStatus404で、ResponseBodyが、[{"errorCode":"NOT_FOUND","message":"The requested resource does not exist"}]
が返却されます。
returnの直前までDebugで確認が取れており、ErrorResultの値は正しくなっています。

結果が正しくErrorResult型にならないのはなぜでしょうか?
どなたか教えていただけると有難いです。