이 좋아 여기 내 경로WebApi 컨트롤러는
Config.Routes.MapHttpRoute(
name: "Default",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
그리고 내 컨트롤러
public class GameController : ApiController
{
internal static ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
[HttpGet,HttpPost]
public IEnumerable<HostedGame> List()
{
return new HostedGame[0];
}
[HttpPost]
public Guid? HostGame(HostedGameRequest request)
{
try
{
var r = this.Request.Content.ReadAsStringAsync();
var id = SasManagerHub.NextConnectionId;
//var hg = request.ToHostedGameSasRequest();
//GameManager.GetContext().SasManagerHub.Out.Client(id).StartGame(hg);
//return hg.Id;
return null;
}
catch (Exception e)
{
Log.Fatal("HostGame error",e);
return null;
}
}
}
그리고 내 모델
public class HostedGame
{
public Guid Id { get; set; }
public string Name { get; set; }
public string HostUserName { get; set; }
public string GameName { get; set; }
public Guid GameId { get; set; }
public Version GameVersion { get; set; }
public bool HasPassword { get; set; }
}
public class HostedGameRequest : HostedGame
{
public string Password { get; set; }
}
그리고 포스트 데이터의 널 (null)을 제공
{
"Id":"c883fb55-9adc-4ab8-a46c-614d2874301c",
"Name":"a",
"HostUserName":"b",
"GameName":"c",
"GameId":"c883fb55-9adc-4ab8-a46c-614d2874301c",
"GameVersion":"1.1.1.1",
"HasPassword":"true",
"Password":"asdf"
}
,691,363 (210)
그리고 URL
http://localhost:5879/api/game/HostGame/
좋아, 어떤 이유로 있도록하는 것은 나는의 데이터가,가 GameController
의 적절한 조치로 만들지 만, 인수 request
항상 null
것을 던져 때. 나는 꽤 많은 변형을 시도했으나 효과가없는 것처럼 보입니다.
내가 여기서 잘못하고있는 아이디어가 있습니까?
jQuery 또는 Fiddler에서 요청을 게시하는 방법은 무엇입니까? –