0

次のコードをテストしました

@RestResource(urlMapping='/myservice')

global class MyService {
    @HttpGet
    global static void doGet() {
        RestContext.response.addHeader('Content-Type', 'text/plain');
        String name = RestContext.request.params.get('name');

        RestContext.response.responseBody = Blob.valueOf('Hello '+name);
    }
}

デフォルトでは、戻り値の型は JSON です。応答形式を XML に変更するにはどうすればよいですか。RestContext.response..addHeader('Content-type','text/xml'); に従ってみました。RestContext.response..responseBody=Blob.valueOf(''+newcase.Id+'');

しかし、まだXMLとして応答がありません

4

1 に答える 1

0

をレスポンスではなくリクエストに設定する必要がありcontent-typeます。

例えば:

curl -H "Authorization: Bearer sessionId" -H "Content-Type: text/xml" -d @account.txt "https://instance.salesforce.com/services/apexrest/Account/"

また、メソッドが使用する Apex 名前空間を参照する XML 名前空間を定義する必要があります。

Content-Typeレスポンスの設定に注意してください。 を使用して設定することはできませんXML

一部のパラメーターと戻り値の型は、要求の Content-Type または応答の受け入れられる形式として XML で使用できないため、これらのパラメーターまたは戻り値の型を持つメソッドは XML で使用できません。

より詳細な情報

于 2012-09-13T20:54:52.067 に答える