Blazor 输入不包含任何 JSON 标记

问题描述 投票:0回答:1

我正在尝试将订单号传递给 Mediator 进行查找。

以下是订单号示例:

GRE_A14Y9-TS72
ANN_ALJB6-E6ZN

在本地主机中,我将它们传递到 URL,如下所示:

https://localhost:44318/Application/Workorder/ABC_A14Y9-TS78

在我的 Razor 页面中,我的电话在这里:

private async Task Lookup()
{
    var orderNumber = request.OrderNumber;
    var path = $"api/workorder/{_model.OrderNumber}";
    var response = await _apiService.GetFromJsonAsync<WorkorderDTO>(path, CancellationToken.None);
    return response;
}

上面的代码在调用

GetFromJsonAsync
时失败。

在 API 方面,我有查找,但它永远不会被调用。相反,我收到输入不包含任何 JSON 令牌的错误。

订单号的格式有问题吗?

这是我的 HttpGet 的 API 代码,但从未到达该断点:

[ApiController]
[Route("api/application/workorder")]
[Tags("AM Application Data")]
public class WorkorderController : ControllerBase
{
    private readonly IMediator _mediator;

    public WorkorderController(IMediator mediator)
    {
        _mediator = mediator;
    }

    [HttpGet]
    public async Task<IActionResult> Get([FromRoute] string orderNumber)
    {
        var request = new Workorder.Request()
        {
            Name = "Work Order",
            OrderNumber = orderNumber,
        };
        var response = await _mediator.Send(request);
        return Ok(response);
    }
}
json blazor mediatr
1个回答
0
投票

比较

var path = $"api/workorder/{_model.OrderNumber}";

[Route("api/application/workorder")]

它们不匹配。

您将获得更大的成功

[Route("api/{controller}")]

尽管您的代码中还存在一些其他问题。

request.OrderNumber
_model.OrderNumber
之间有什么关系?

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