服务如何将通用JsonPatchDocument <>转移到另一服务?

时间:2018-10-12 12:20:01

标签: c# asp.net-core swagger microservices autorest

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

  

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

在微服务 B 中,我在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)
{
   //
}

该方法接受JsonPatchDocument应用于EntityModel。生成摇摇欲坠并运行自动休息后,我得到以下自动生成的方法:

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的类似Controller。

问题

但是,似乎我已经失去类型约束:不再宣传微服务 B 要求对EntityModel类型进行更新。

问题

微服务 A 如何将通用JsonPatchDocument<>转移到微服务 B ,而无需处理数据?

0 个答案:

没有答案