Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 如何更改REST DataSnap中的内容类型响应_Json_Rest_Delphi_Indy_Datasnap - Fatal编程技术网

Json 如何更改REST DataSnap中的内容类型响应

Json 如何更改REST DataSnap中的内容类型响应,json,rest,delphi,indy,datasnap,Json,Rest,Delphi,Indy,Datasnap,我有一个由WebBroker-REST制作的项目,作为服务运行,我需要将coent-Type响应更改为application/json,默认情况下WebBroker-REST为我带来 “内容类型”文本/html;字符集=ISO-8859-1' 我通过访问方法来更改响应 GetInvocationMetadata(True).ResponseContentType='application/json' 对于Data.DBXPlatform类,它仍然没有解析它,而是在当前类型的正下方添加了另一个内容

我有一个由
WebBroker-REST
制作的项目,作为服务运行,我需要将
coent-Type
响应更改为
application/json
,默认情况下
WebBroker-REST
为我带来

“内容类型”文本/html;字符集=ISO-8859-1'

我通过访问方法来更改响应

GetInvocationMetadata(True).ResponseContentType='application/json'

对于
Data.DBXPlatform
类,它仍然没有解析它,而是在当前类型的正下方添加了另一个
内容类型

这只发生在
WebBroker REST
中,如果我通过DataSnap服务器创建项目,我通常会得到它。但是我需要
WebBroker REST
来访问客户发送给我的信息

如何使问题发生的示例

  • DataSnap REST应用程序创建项目
在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

内容类型:application/json

在新建DataSnap WebBroker应用程序向导中,您可以选择创建单独的服务器模块。在生成的单元WebModuleUnit1.pas中有一个变量WebModuleClass,它是TWebModule的后代。此WebModuleClass对象具有类型为TwebreResponse的公共属性响应,这使您能够设置ContentType


我在WebModuleUnit1.pas创建函数中使用Delphi XE7。过程TWebModule1.WebModuleAfterDispatch(发送方:TObject;请求:TWebRequest;响应:TWebResponse;处理的变量:Boolean);begin Response.ContentType:=“应用程序/json”;结束;响应头是。连接:关闭内容类型:application/json;charset=ISO-8859-1内容长度:25日期:2013年9月10日星期二16:41:37 GMT Pragma:dssession=542354.126073.592372,dssessionexpires=1200000但我只需要内容类型的应用程序/json,有什么?你知道吗?