Получить запрос не отправляя параметр через URL на контроллер API - PullRequest
0 голосов
/ 23 мая 2019

У меня есть этот простой контроллер API в веб-игре NetCore 2.2, который должен возвращать список монстров на основе dungeonID (Guid).

Таким образом, я использую URL, передавая идентификатор dungeonID, этому контроллеру так:

https://localhost:44361/MonsterList/GetMonsters/2f14c8gf-2e7e-466a-bcbg-f4440e92b3dg

Но когда япошагово через код, я просто вижу все нули для dungeonID:

    public async Task<JsonResult> GetMonsters(Guid dungeonID)
    {
        var monsters = await _context.MonsterList.Where(c => c.DungeonID == (dungeonID)).ToListAsync();

        return Json(monsters);
    }

Это ничего не возвращает, потому что, по причинам, которые я не знаю, dungeonID всегда все нули.

Но этоработает, если я жестко закодировал в dungeonID:

https://localhost:44361/MonsterList/GetMonsters

public async Task<JsonResult> GetMonsters()
{
    var monsters = await _context.MonsterList.Where(c => c.DungeonID == Guid.Parse("2f14c8gf-2e7e-466a-bcbg-f4440e92b3dg")).ToListAsync();

    return Json(monsters);
}

Я видел много постов, похожих на мои, например:

asp.net webapi 2 параметр сообщения всегда равен нулю

параметр записи всегда равен нулю

Но, похоже, ничего не работает.

Как добавить возможность передачи параметра Guid?

Спасибо!

1 Ответ

1 голос
/ 24 мая 2019

Одна точка 2f14c8gf-2e7e-466a-bcbg-f4440e92b3dg не является GUID / UUID.Просто попробуйте с правильным GUID:

https://localhost:44384/api/values/GetMonsters/2e6ae748-10c2-4e23-84c3-9d3db7c09631

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...