首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Delphi DataSnap TDSServiceException

Delphi DataSnap TDSServiceException
EN

Stack Overflow用户
提问于 2021-01-28 03:28:03
回答 1查看 73关注 0票数 0

我在西雅图的RAD Studio10上使用Delphi来处理带有DataSnap的REST API。它可以处理大多数HTTP谓词,除了DELETE。根据DataSnap文档,它是有这个函数的,但是当我使用DELETE HTTP动词进行请求时,它会给我一个异常“项目RESTApi.exe引发异常类TDSServiceException,并显示消息‘命令已关闭或未分配’”。

遵循DataSnap接口的删除函数的代码。

代码语言:javascript
复制
function TSM.CancelLista(const ID_LISTA: integer): TJSONObject;
const
 _DELETE = 'DELETE FROM listas WHERE id = :id';
begin
 with FormPrincipal do
 begin
  DB_Query.Active := false;
  DB_Query.SQL.Text := _DELETE;
  DB_Query.ParamByName('id').Value :=  ID_LISTA;

  Try
    DB_Query.ExecSQL;
    Result.AddPair('Response', 'Lista atualizada com sucesso');
  Except on E : Exception do
    Result.AddPair('Response', E.Message);
  End;
 end;
end;

我正在使用PHP Code Igniter 4.0.4 web应用程序发出请求,但已经使用Delphi REST调试器进行了尝试,并获得了相同的结果。

EN

回答 1

Stack Overflow用户

发布于 2021-01-28 04:30:05

这个问题根本不在应用编程接口中,但是请求的方法没有正确生成,该方法是作为DELETE` `发送的,所以DataSnap应用编程接口不会将其识别为命令。作为代码触发器4.0.4 CURLRequest类的请求,如下所示:

代码语言:javascript
复制
$reqConfig = [            
        'headers' => [
            'Accept' => 'application/json',
            'Content-Type' => 'application/json'
        ]            
    ]; 
$verb = '`DELETE`'
$curl->request($verb, 'Listas/'.id_lista, $reqConfig);

解决了更改$verb去掉"`“的问题。

API DELETE函数现在为:

代码语言:javascript
复制
function TSM.CancelLista(const ID_LISTA: integer): TJSONObject;
const
  _DELETE = 'DELETE FROM listas WHERE id = :id';
begin
  Result := TJSONObject.Create;
  with FormPrincipal do
  begin
    DB_Query.Active := false;
    DB_Query.SQL.Text := _DELETE;
    DB_Query.ParamByName('id').Value :=  ID_LISTA;

    Try
      DB_Query.ExecSQL;
      Result.AddPair('Response', 'Lista deletada com sucesso');
    Except on E : Exception do
      Result.AddPair('Response', E.Message);
    End;
  end;
end;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65926037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档