fix: OpenAPI 轨迹/文件补 Swagger 请求体 schema

FromBody 仅用于文档展示,验签仍读原始 Body。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
zzh 2026-10-06 10:39:28 +08:00
parent f063c99d1b
commit 5bf81b5138
2 changed files with 17 additions and 3 deletions

View File

@ -5,17 +5,22 @@ namespace Oms.Application.Dtos.OpenApi;
/// </summary> /// </summary>
public class OpenApiOrderLookupInput public class OpenApiOrderLookupInput
{ {
/// <summary>客户单号。与 serviceNo / trackNo 至少填一项;同时传时优先 clientNo。</summary>
public string? ClientNo { get; set; } public string? ClientNo { get; set; }
/// <summary>服务单号(OMS 运单号)。</summary>
public string? ServiceNo { get; set; } public string? ServiceNo { get; set; }
/// <summary>跟踪号。</summary>
public string? TrackNo { get; set; } public string? TrackNo { get; set; }
} }
/// <summary>查询轨迹入参。</summary>
public class OpenApiTrackQueryInput : OpenApiOrderLookupInput public class OpenApiTrackQueryInput : OpenApiOrderLookupInput
{ {
} }
/// <summary>按附件类型获取文件入参。</summary>
public class OpenApiFilesGetInput : OpenApiOrderLookupInput public class OpenApiFilesGetInput : OpenApiOrderLookupInput
{ {
/// <summary> /// <summary>

View File

@ -79,10 +79,13 @@ public class OpenApiService : ApplicationService
/// </summary> /// </summary>
[AllowAnonymous] [AllowAnonymous]
[HttpPost("/openapi/parcel/create")] [HttpPost("/openapi/parcel/create")]
[Consumes("application/json")]
[Produces("application/json")]
public async Task<OpenApiEnvelope<OrderParcelCreateOutput>> CreateParcelAsync( public async Task<OpenApiEnvelope<OrderParcelCreateOutput>> CreateParcelAsync(
[FromHeader(Name = CustomerOpenApiAuthHelper.AppKeyHeaderName)] string? appKey, [FromHeader(Name = CustomerOpenApiAuthHelper.AppKeyHeaderName)] string? appKey,
[FromHeader(Name = CustomerOpenApiAuthHelper.TimestampHeaderName)] string? timestamp, [FromHeader(Name = CustomerOpenApiAuthHelper.TimestampHeaderName)] string? timestamp,
[FromHeader(Name = CustomerOpenApiAuthHelper.SignHeaderName)] string? sign) [FromHeader(Name = CustomerOpenApiAuthHelper.SignHeaderName)] string? sign,
[FromBody] OpenApiParcelCreateInput? requestBody)
{ {
try try
{ {
@ -120,10 +123,13 @@ public class OpenApiService : ApplicationService
/// </summary> /// </summary>
[AllowAnonymous] [AllowAnonymous]
[HttpPost("/openapi/track/query")] [HttpPost("/openapi/track/query")]
[Consumes("application/json")]
[Produces("application/json")]
public async Task<OpenApiEnvelope<OpenApiTrackQueryOutput>> QueryTrackAsync( public async Task<OpenApiEnvelope<OpenApiTrackQueryOutput>> QueryTrackAsync(
[FromHeader(Name = CustomerOpenApiAuthHelper.AppKeyHeaderName)] string? appKey, [FromHeader(Name = CustomerOpenApiAuthHelper.AppKeyHeaderName)] string? appKey,
[FromHeader(Name = CustomerOpenApiAuthHelper.TimestampHeaderName)] string? timestamp, [FromHeader(Name = CustomerOpenApiAuthHelper.TimestampHeaderName)] string? timestamp,
[FromHeader(Name = CustomerOpenApiAuthHelper.SignHeaderName)] string? sign) [FromHeader(Name = CustomerOpenApiAuthHelper.SignHeaderName)] string? sign,
[FromBody] OpenApiTrackQueryInput? requestBody)
{ {
try try
{ {
@ -168,10 +174,13 @@ public class OpenApiService : ApplicationService
/// </summary> /// </summary>
[AllowAnonymous] [AllowAnonymous]
[HttpPost("/openapi/files/get")] [HttpPost("/openapi/files/get")]
[Consumes("application/json")]
[Produces("application/json")]
public async Task<OpenApiEnvelope<OpenApiFilesGetOutput>> GetFilesAsync( public async Task<OpenApiEnvelope<OpenApiFilesGetOutput>> GetFilesAsync(
[FromHeader(Name = CustomerOpenApiAuthHelper.AppKeyHeaderName)] string? appKey, [FromHeader(Name = CustomerOpenApiAuthHelper.AppKeyHeaderName)] string? appKey,
[FromHeader(Name = CustomerOpenApiAuthHelper.TimestampHeaderName)] string? timestamp, [FromHeader(Name = CustomerOpenApiAuthHelper.TimestampHeaderName)] string? timestamp,
[FromHeader(Name = CustomerOpenApiAuthHelper.SignHeaderName)] string? sign) [FromHeader(Name = CustomerOpenApiAuthHelper.SignHeaderName)] string? sign,
[FromBody] OpenApiFilesGetInput? requestBody)
{ {
try try
{ {