php - 敏捷性 : ApiProblem alternative?

标签 php zend-framework2 laminas-api-tools

已经玩了一会儿 Apigility,但有一些我不喜欢的东西。我在实体映射器中的删除方法如下所示:

public function delete($id)
{
    $affectedRows = $this->table->delete(
        array('userId' => $id)
    );
    if (0 === $affectedRows) {
        throw new DomainException('ID not found', 500);
    }
    return $affectedRows;
}

在我拥有的匹配实体资源中:

public function delete($id)
{
    $affectedRows = $this->mapper->delete($id);
    return new ApiProblem(200, 'Affected rows count ' . $affectedRows);
}

但我认为调用 ApiProblem 获取 200 代码是不合适的。有什么适合手术成功的因素吗?

最佳答案

application/problem+json 不是成功操作的正确响应。

您应该正常返回响应,状态代码为 200,或者无响应,状态代码为 204。

当找不到资源时,您可以使用ApiProblem。

旁注:域异常不适合运行时条件,它通常指向软件中的错误。

关于php - 敏捷性 : ApiProblem alternative?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26496359/

相关文章:

zend-framework2 - 使用 composer 安装组件 zf2

mysql - ZF2 aka Apigility 更新 SQL 数据库条目

php - 未找到 CreateBlobOptions 类

php - Zend Framework 2 - 翻译标准表单验证和错误消息

php - 从 PHP 执行 python 脚本以打开套接字

php - 具有不同数量参数的子类构造函数

php - 如何使用具有外键的 Hydrator 并在 ZF2 中的 View 上显示两个实体属性

git - 为什么来自 github 的递归子模块更新对于 DoctrineMongoORMModule 失败?

php - 在 Apigility 中使用 "DB Connect"生成新服务时出错

php - Apigility Rest 服务 - 如何使用连接的数据库按非唯一列进行过滤