我在NetCore 2.2网络游戏中有这个简单的API控制器,该控制器应该返回基于dungeonID(Guid)的怪物列表。
所以我使用URL,将dungeonID的guid传递给该控制器,如下所示:
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中进行硬编码,这确实可行:
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 post parameter is always null
但是似乎没有任何作用。
如何添加传递Guid参数的功能?
谢谢!
答案 0 :(得分:1)
一点是2f14c8gf-2e7e-466a-bcbg-f4440e92b3dg
不是GUID / UUID。只需尝试使用正确的GUID即可:
https://www.scala-sbt.org/1.x/docs/Multi-Project.html
https://localhost:44384/api/values/GetMonsters/2e6ae748-10c2-4e23-84c3-9d3db7c09631