rest 相关问题

REST(Representational State Transfer)是一种用于分布式超媒体系统(如万维网)的软件架构。由于客户端与服务器之间的内在解耦,来自异构系统之间具有统一接口,因此它相对于诸如SOAP的RPC架构而言越来越受欢迎。

在 APi 平台中关闭端点的复数形式

在 Symfony 5 项目中,我们使用 APi 平台生成 REST API。 其中一个实体类称为 FarmMetadata。 在 Symfony 5 项目中,我们使用 APi 平台生成 REST API。 其中一个实体类称为 FarmMetadata。 <?php namespace App\Entity; use ApiPlatform\Core\Annotation\ApiResource; use Doctrine\ORM\Mapping as ORM; /** * @ApiResource() * @ORM\Table(... some settings ...) * @ORM\Entity */ class FarmMetadata { // properties and methods } 当我运行 php bin/console debug:router 时,它会显示此资源的以下路线: api_farm_metadatas_get_collection GET ANY ANY /api/farm_metadatas.{_format} api_farm_metadatas_post_collection POST ANY ANY /api/farm_metadatas.{_format} api_farm_metadatas_get_item GET ANY ANY /api/farm_metadatas/{id}.{_format} api_farm_metadatas_delete_item DELETE ANY ANY /api/farm_metadatas/{id}.{_format} api_farm_metadatas_put_item PUT ANY ANY /api/farm_metadatas/{id}.{_format} api_farm_metadatas_patch_item PATCH ANY ANY /api/farm_metadatas/{id}.{_format} 但是“元数据”这个词已经是复数了。不存在元数据这样的东西。如何关闭此端点的复数形式? 我尝试使用shortName: * @ApiResource( * shortName="FarmMetadata" // also "farm_metadata" * ) 但它不会改变输出。 如果我使用: * @ApiResource( * shortName="Metadata" * ) 然后更改路线名称和路径: api_metadata_get_collection GET ANY ANY /api/metadata.{_format} api_metadata_post_collection POST ANY ANY /api/metadata.{_format} api_metadata_get_item GET ANY ANY /api/metadata/{id}.{_format} api_metadata_delete_item DELETE ANY ANY /api/metadata/{id}.{_format} api_metadata_put_item PUT ANY ANY /api/metadata/{id}.{_format} api_metadata_patch_item PATCH ANY ANY /api/metadata/{id}.{_format} 但这不是我想要的。 我知道我可以为每个操作声明一条路径,但这会损害 DRY 原则。 我怎样才能达到预期的行为? 您可以在每个操作中使用“路径”选项。 参见 https://api-platform.com/docs/core/operations/#configuring-operations 例如 * shortName="Metadata", * itemOperations={ * "get"={ * "path"="/metadata/{id}" 通过操作路径命名,您可以轻松地随心所欲。 将配置添加到config/packages/api_platform.yaml,将类和路径更改为您想要的名称和位置: api_platform: ... path_segment_name_generator: App\InfraStructure\ApiPlatform\Core\SingularPathSegmentNameGenerator 创建实现PathSegmentNameGeneratorInterface的必要类: <?php declare(strict_types=1); namespace App\InfraStructure\ApiPlatform\Core; use ApiPlatform\Core\Operation\PathSegmentNameGeneratorInterface; use ApiPlatform\Core\Util\Inflector; final class SingularPathSegmentNameGenerator implements PathSegmentNameGeneratorInterface { public function getSegmentName(string $name, bool $collection = true): string { return Inflector::tableize($name); } } 请参阅链接文档了解另一个示例,例如 return strtolower(preg_replace('~(?<=\\w)([A-Z])~', '-$1', $string)); 我认为这不可能通过配置实现:这些路由是在私有方法ApiPlatform\Core\Bridge\Symfony\Routing\ApiLoader::addRoute中构建的(至少在我正在使用的 v2.6 中),并且这使用对复数器的静态调用 - 所以:装饰ApiLoader 不容易实现(因为 addRoute 方法是私有的),并且不可能交换生成路由的方式(由于使用静态方法调用)。 看起来您需要在他们的错误跟踪器中打开功能请求票...

回答 3 投票 0

验证 Openapi 3.0 Spring Boot RESTful API 中的 URL 参数?

在我的 openapi 规范中,我为特定资源路径指定 URL 参数,如下所示: 路径: /一些/路径: 得到: 摘要:一些总结 参数: 名称:有用参数

回答 2 投票 0

Talend 上传文件到 SharePoint (graphAPI) 文档库,文件类型未知

我有一个使用 Talend 的项目,其中 Oracle Blob 被解码为文件。 我需要将文件“放入”SharePoint 文档库中。我已经在邮递员以及 pu 中测试了所有驱动器 ID 等...

回答 1 投票 0

PUT 请求使用邮递员工作但不使用 java、spring boot

我正在尝试在我的 Spring Boot 项目中进行 API 调用。 PUT 请求使用邮递员工作正常,我收到 204 状态代码(无内容)。而 JAVA 代码抛出 500 内部

回答 1 投票 0

与可扩展的嵌套回收器视图作斗争

我正在开发一个应用程序。它使用改造从 API 获取列表(国家和城市列表)。在我的主要活动中,我有一辆房车,它是主要房车,还显示国家/地区列表。我的国家列表项目...

回答 1 投票 0

如何向 GET 请求发送巨大的参数列表

我的服务器中有一个 REST API,其中 List 操作(应使用 GET 方法实现)从客户端接收多个参数: 当前页面 行数 一条文字...

回答 4 投票 0

Postman 请求返回 404 Not Found

我创建了小型 Rest API 应用程序并尝试使用 Postman 对其进行测试,但一无所获。 这是代码片段: -动物 命名空间 VeterinaryClinicShelter.Models; 公开课动物 { 公共我...

回答 1 投票 0

邮递员请求不返回任何内容

我创建了小型 Rest API 应用程序并尝试使用 Postman 对其进行测试,但一无所获。 这是代码片段: -动物 命名空间 VeterinaryClinicShelter.Models; 公开课动物 { 公共我...

回答 1 投票 0

Spring Security 中的自定义 LoginController 并使用 Angular 发布

我正在尝试创建自己的 LoginController,以便我可以更仔细地观察数据流,但要么是我的 post 方法错误,要么是我的控制器缺少某些内容。 每当我尝试发送登录请求时...

回答 1 投票 0

为什么我的 fetch() 发送的是空 JSON 正文?

我一直在尝试使用 fetch 发送 JSON 数据,但后端收到一个空对象。 在我的客户端 JS 中我有 const 用户 =“公司1”; const 用户名 = "muneeb"; 常量数据...

回答 1 投票 0

对特定 Laravel 10 API 端点的 POST 请求意外执行 Web 路由而不是 api.php 路由

我正在使用 Laravel 10 开发 REST API 项目。尽管已为端点(/dp 和 /dj)正确配置了 Laravel API 路由,但对这两个端点的 POST 请求意外地执行了 Web

回答 1 投票 0

设置后登录出现错误错误请求,需要在 keycloak 中使用值更新密码进行操作

我使用下面的代码创建了一个用户,然后使用API登录,响应返回错误请求!我如何才能捕获类似以下内容的响应:用户有巨大的需要具有值 Update Pass 的操作? 谢谢...

回答 1 投票 0

laravel 10 API 端点(/dp 和 /dj)的 POST 意外执行 Web 路由而不是 API 路由,而其他 API 端点功能正常

我正在使用 Laravel 10 开发一个 REST API 项目,尽管已经为端点(/dp 和 /dj)的 Laravel API 路由进行了正确配置,但对这两个端点的 POST 请求意外地发生了...

回答 1 投票 0

REST API 响应应该仅返回 id 或完整对象?

在工作中,每次处理创建 CRUD api 时,我总是返回完整的对象以进行创建和更新。 现在我正在开发一个个人项目,我想知道这是否是一个好主意,而不是

回答 1 投票 0

STRAPI RestAPI - 如何将图像上传到组件中的媒体字段? 4.2

我对 Strapi v4 有一个很大的疑问,我知道很多人都在问。但我花了4个小时上网,发现了很多案例,但没有一个解决或者只是

回答 1 投票 0

使用 Azure DevOps REST API 删除工作项附件

可以使用 REST API 删除拉取请求附件: https://learn.microsoft.com/en-us/rest/api/azure/devops/git/pull-request-attachments/delete?view=azure-devops-rest-7.0 但我没有看到...

回答 2 投票 0

无需身份验证即可使用 WP-REST 获取帖子

我对 WP-REST API 和 Wordpress 总体来说是新手。我尝试使用端点 wp-json/wp/v2/posts 获取帖子列表,但收到经典的 403 错误。 我想问一下有没有办法禁用

回答 2 投票 0

NestJS AuthGuard 可处理 GraphQL 和 REST

根据文档,为了使用 AuthGuard 进行 GraphQL 解析器的身份验证,我们必须重写 getRequest 方法,如下所示: getRequest(上下文:ExecutionContext){ 常量 ctx =

回答 2 投票 0

ADOS .NET:将 SOAP 方法交换为 REST 等效方法

我目前正在将 SOAP 代码交换为 ADOS OnPremise 应用程序的 REST (6.0) 代码。 私有无效SetIntegratedStatusForBranch(ChangesetModel变更集,分支changesetBranch,列表

回答 1 投票 0

Easy Project API 中组的实体类型是什么?

我正在 Easy Project 中创建 webhook,我尝试为一个组创建它,但我需要找到组的实体类型,我尝试了组、组、组、组和几个,但什么也没有,它只是

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.