REST(Representational State Transfer)是一种用于分布式超媒体系统(如万维网)的软件架构。由于客户端与服务器之间的内在解耦,来自异构系统之间具有统一接口,因此它相对于诸如SOAP的RPC架构而言越来越受欢迎。
我正在寻找使用 REST API (ASP.NET) 对对象应用部分更新的最佳解决方案 我原本想使用“JSON Merge Patch”格式(rfc7396),但我无法使用...
实现API方法和用户界面解耦的行之有效的策略是什么? 我正在为该应用程序创建 REST API 服务。我注意到我的 API 方法是
Laravel:存储功能不会将我的文件名保存到数据库,而是将文件存储到文件夹
我想将文件存储在公共文件夹中并将其名称保存到mysql数据库中,数据库不会为file_name列创建记录 当我发布文件时,文件会移动到文件夹,但数据库不会创建...
D365 API PATCH 调用返回 204 No Content
我正在调用 Dynamics 365 事件实体,并通过传递 HTTP 调用正文中的键值来更新一些字段,例如“注释”。 网址如下所示: 补丁 https://<>....
PATCH API 上的 Restful 标准,包含业务逻辑和添加工作流程
我有一个 api 来创建订单 POST /api/order 并检索订单 GET /api/order/{order_id}。 我还有一个 PATCH 方法来部分更新订单 PATCH /api/order/{order_id}。 一拍...
我刚刚开始将 GraphQL 与 New Relic 结合使用,但在尝试将变量传递到 GraphQL 查询时遇到了麻烦。 我需要根据 NR Synthetics 监视器的名称检索 GUID,因为...
我想创建一个错误处理程序异常来返回错误 404 而不是这个 html。我怎样才能做到这一点 ? 我尝试了以下代码,但它对我不起作用 从rest_framework.views导入
如何从代码调用 REST API,我只得到 AuthenticationException、UntrustedRoot
我对 REST 服务相当陌生,我正在尝试从同事那里调用 REST 服务,仅通过用户名和密码进行保护。 使用 Postman 一切都很好,我有一个 GET 到 URL,我选择 ...
我正在使用 CakePHP 5 创建 REST API。我有一个 POST 函数,该函数应该从邮递员接收数据并将其输入到数据库。问题是我没有收到请求中的数据。 T...
我在 REST API 中使用 Jersey 2.10 和 Jackson 序列化/反序列化功能。 我的想法是让我的 REST API 始终返回标准 JSON 错误响应。为此我有例外...
在我的春季应用程序中,当我使用邮递员调用它时,我有 Rest api 并发送这个 json { “收入值”:“测试\t” } 它给 引起者:com.fasterxml.jackson.core。
我需要有两种方法的REST服务:第一个需要授权,第二个对所有人开放(没有身份验证过程)。 如果我放置 TDSHttpService 并与 TDSAuthenticationManager 绑定,那么所有方法...
我在使用 API Jama 将附件附加到项目时遇到问题。 我需要自动化我的工作并使用 python 创建项目并将 zip 文件附加到它们。 使用控制台我可以创建我的附件
我正在开发一个项目,该项目涉及比较两个不同 REST API 的响应。这些 API 收到相同的请求,但我需要验证 JSON 响应是否相同。 我想钉...
.NET 中使用 Web API 的最佳实践是什么?特别是 Web REST API。当异常发生时,REST API 是否应该在响应正文中返回异常? 我肯定会返回 500 或类似的 HTTP
Paypal REST .net API 提取VALIDATION_ERROR
尝试使用信用卡创建付款后是否可以提取任何验证错误?在日志中我看到这样的错误,但如果能够向用户报告就好了
PayPal Rest API - 使用更新的交易信息执行付款
我正在使用 C# 和 PayPal Rest API 来获取批准的付款并执行它。但是,我需要更新与已批准付款相关的交易。 PayPal 文档如下: 使用此电话
当我的基于 Java 的 Rest Web 服务发生错误时 我收到像这样发送给客户端的异常 类型异常报告 消息令牌无效 描述 服务器遇到内部
Tomcat Restful Web 服务数据库 (JPA) 与 Netbeans 不起作用
我已经能够使用 JAX-RS for Tomcat 创建 Restful Web 服务。通过模式向导使用 Netbeans Restful Web 服务。 但我无法从数据库创建 Restfull Web 服务程序...
在 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 方法是私有的),并且不可能交换生成路由的方式(由于使用静态方法调用)。 看起来您需要在他们的错误跟踪器中打开功能请求票...