我想为我的vb.net游戏使用.NET Web API 2控制器。
我将一个添加到项目中,并按照说明更新了Global.axax.vb和Application_Start方法。
现在,我只是想弄清楚它是如何工作的。
但是我不知道用Controller方法返回什么或如何返回。
这是我的测试ajax方法:
<script>
$("#btnUpdate").click(function(e) {
var Data = {};
Data.test1 = "testVal1";
Data.test2 = "testVal2";
$.ajax({
url: 'api/GameData',
method: 'POST',
dataType: 'json',
contentType: 'application/json; charset=utf-8',
data: Data,
success: function(data) {
alert("Saved successfully");
},
fail: function(jqXHR, textStatus) {
alert("Request failed: " + textStatus);
}
});
});
</script>
这是Visual Studio生成的我的空PostValue方法:
' POST: api/GameData
Public Sub PostValue(<FromBody()> ByVal value As String)
'what type of return value?
End Sub
该方法应该返回什么?
谢谢!
最佳答案
根据情况,它可以返回以下内容之一
void-> http响应将为204
HttpResponseMessage
IHttpActionResult
HTTP响应200的序列化返回正文
通常,使用资源创建的Http POST api返回201。例
Public Function PostValue(<FromBody> value As String) As IHttpActionResult
Dim product = New With {Key .Name = "Watch", .Price = 250}
return Content(HttpStatusCode.Created, product, new JsonMediaTypeFormatter())
End Function
有关详细信息,请参见示例
https://docs.microsoft.com/en-us/aspnet/web-api/overview/getting-started-with-aspnet-web-api/action-results
https://msdn.microsoft.com/en-us/library/system.web.http.ihttpactionresult(v=vs.118).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1
关于ajax - API Controller Post方法返回类型/值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43324838/