我测试了以下代码
@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( '内容类型', '文本/ XML'); RestContext.response..responseBody = Blob.valueOf( '' + newcase.Id + '');
但我仍然没有得到XML的响应
答案 0 :(得分:0)
您必须将content-type
设置为请求,而不是设置在响应中。
e.g:
curl -H "Authorization: Bearer sessionId" -H "Content-Type: text/xml" -d @account.txt "https://instance.salesforce.com/services/apexrest/Account/"
此外,您应该定义一个引用您的方法使用的任何Apex命名空间的XML Namespaces。
请注意在响应中设置Content-Type
,但无法使用XML
进行设置。
某些参数和返回类型不能与XML一起使用 请求的Content-Type或作为可接受的格式 响应,因此,这些参数或返回类型的方法 不能与XML一起使用。
More详细信息