6

我已经构建了一个在 Azure (ASP.Net Core 2.1) 上运行的应用程序,其中涉及微服务和客户端应用程序:

客户端应用程序(Android)--calls--> 微服务 A(网关)--forwards-> 微服务 B

在微服务B中,我在 an 中定义了以下方法Controller

[HttpPatch]
[SwaggerOperation(OperationId = nameof(PatchEntityAsync))]
[Route(ApiConstants.Constraints.ControlId, Name = nameof(PatchEntityAsync))]
[SwaggerResponse(StatusCodes.Status204NoContent, "Result of the patch")]
[ProducesResponseType(StatusCodes.Status204NoContent)]
[Consumes(MediaTypes.Application.JsonPatch)]
public async Task PatchEntityAsync(string tenantId, Guid entityId, JsonPatchDocument<EntityModel> entityUpdates)
{
   //
}

该方法接受 aJsonPatchDocument以应用于 a EntityModel。生成招摇并运行 autorest 后,我​​得到以下自动生成的方法:

Task<HttpOperationResponse> PatchEntityWithHttpMessagesAsync(string tenantId, System.Guid controlId, IList<Operation> entityPatches = default(IList<Operation>), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

这个自动生成的客户端被微服务A使用,它有一个类似的控制器,接受 JsonPatchDocument。

问题

但是,我似乎失去了类型约束:不再宣传微服务B需要一个EntityModel类型的更新列表。

问题

微服务A如何在无需操作数据的情况下将泛型传输JsonPatchDocument<>到微服务B ?

4

0 回答 0