Post 不创建资源的操作

Post operation that doesn't create an resource

我想创建一个 POST 端点,它根据请求正文计算值。我不想在此操作中创建任何资源,只是 return 计算结果。是否可以使用 Api 平台实现此目的?

是的,这是可能的。

您可以:

  • 创建一个控制器,并从中 return JsonResponse 以便在创建任何东西之前停止生命周期,如 here
  • 所述
  • disable the WriteListener 您的自定义操作:write = false(见下文),
  • create a dummy DataPersister,使用空 persist 方法,如果由于某些原因您需要完成生命周期,
/**
 * @ApiResource(
 *    collectionOperations = {
 *        "custom" = {
 *            "method" = "post",
 *            "write" = false",
 *            "path" = "/my/custom/path",
 *         }
 *    }
 * }
 */

可能还有其他几种方式...