使用Delphi、Indy10和LARAVEL PHP获取响应内容时出现问题
我正在构建一个LaravelPHPAPI,以供Delphi2007使用。 基本上,我在Delphi中执行POST,在PHP中验证字段。如果验证失败,我需要返回代码422以及验证错误数组 在Delphi中,我使用Indy10。在其中,我有一个类型为TIdHTTP的客户机 要发布此帖子,我需要:使用Delphi、Indy10和LARAVEL PHP获取响应内容时出现问题,php,laravel,api,delphi,indy10,Php,Laravel,Api,Delphi,Indy10,我正在构建一个LaravelPHPAPI,以供Delphi2007使用。 基本上,我在Delphi中执行POST,在PHP中验证字段。如果验证失败,我需要返回代码422以及验证错误数组 在Delphi中,我使用Indy10。在其中,我有一个类型为TIdHTTP的客户机 要发布此帖子,我需要: Client.Post(sFullEndPoint, Request, Response); 要获取代码422: Client.ResponseCode; 要获取响应的内容,请执行以下操作: Respo
Client.Post(sFullEndPoint, Request, Response);
要获取代码422:
Client.ResponseCode;
要获取响应的内容,请执行以下操作:
Response.DataString;
在PHP中,如果我只返回一个错误数组,作为return$errors,我可以用Response.DataString在Delphi中处理它,问题是我不知道响应代码,因为它将是200。
如果在PHP中返回response$errors,422,Delphi在response中找不到$errors的值
我需要获取HTTP代码和响应主体。有人能帮我吗?您可以在php中设置http响应代码,如reference:: 同样,在laravel中,您也可以这样做:
return response('Your output string', 200)->header('Content-Type', 'text/plain');
但我建议您将响应作为json传递,并添加一些关于错误的信息,或者…:
$errors = [
[
'error_code'=>1312,
'error_message'=>'name is empty'
]
];
return Response::json($errors, 201); // Status code here
$errors = [
[
'error_code'=>1312,
'error_message'=>'name is empty'
]
];
return Response::json($errors, 201); // Status code here