我有一个由WebBroker REST
制作的项目,作为服务运行,我需要将Cotent-Type
响应更改为application/json
,默认情况下WebBroker REST
会带来我的结果在
Content-Type'text / html;字符集= ISO-8859-1'
我通过访问方法
来更改响应GetInvocationMetadata(True).ResponseContentType ='application / json'
Data.DBXPlatform
类的,但它仍然无法解析,它会在当前版本的下方添加另一个Content-Type
。
这只发生在WebBroker REST
,如果我通过DataSnap Server创建项目,我通常会得到它。但是我需要WebBroker REST
来访问客户端发送给我的信息。
如何解决问题的示例。
DataSnap REST Application
在ServerMethods类中,执行相同的模型。
uses System.StrUtils, Data.DBXPlatform;
function TServerMethods1.EchoString(Value: string): string;
begin
Result := Value;
GetInvocationMetadata.ResponseContentType := 'application/json';
end;
示例响应标题。
连接:关闭
内容类型:text / html;字符集= ISO-8859-1
内容长度:25
日期:2013年9月10日星期二16:41:37 GMT
Pragma:dssession = 542354.126073.592372,dssessionexpires = 1200000
Content-Type:application / json
答案 0 :(得分:4)
在New DataSnap WebBroker应用程序向导中,您可以选择创建单独的服务器模块。在生成的单元WebModuleUnit1.pas中有一个变量WebModuleClass,它是TWebModule的后代。此WebModuleClass对象具有类型为TWebResponse的公共属性Response,它使您能够设置ContentType。
http://docwiki.embarcadero.com/Libraries/Berlin/en/Web.HTTPApp.TWebResponse.ContentType