2017-07-08 106 views
0

我正在使用web API for my android app.But直到这次我只需要GET方法,现在我也应该使用POST方法。Web Api Post方法FromBody错误

我使用实体Framwork,我的问题是,当我在我的网址使用GET方法,它的伟大工程,我能达到我的数据,但我不能发布 这是我的POST方法代码

[HttpPost] 
    public void Post([FromBody]Models.Table_A value) 
    { 
     using (var context = new vt()) 
     { 
      //var ileti = context.Table_A.Find(); 



      var tablo = new Table_A { A_name = value.ToString() }; 
      context.Table_A.Add(tablo); 
      context.SaveChanges(); 



     } 
    } 

这是我的课

using System; 
using System.Collections.Generic; 

public partial class Table_A 
{ 
    public int id { get; set; } 
    public string A_name { get; set; } 
    public string tur_bir { get; set; } 
    public string tur_iki { get; set; } 
    public string tur_uc { get; set; } 
} 

,当我尝试Post方法,我使用这个网址

http://localhost:51985/api/values/Post/gin

我使用Mozilla Firefox浏览器,这JSON错误信息

“的请求的资源不支持HTTP方法 'GET'。”

请求消息

允许POST 缓存控制无缓存 内容长度72 内容类型的应用/ JSON;字符集= UTF-8 日期星期六,2017年7月8日10时31分45秒GMT 过期-1 语用无缓存 服务器Microsoft-IIS/10.0 X-ASPNET-版本4.0.30319 X供电,通过ASP .NET X-SourceFiles =?UTF-8 2 B 4 QzpcVXNlcnNcb21lclxEZXNrdG9wXHdlYl9hcGlfZm9yX210bFx3ZWJfYXBpX2Zvcl9tdGxcYXBpXHZhbHVlc1xQb3N0XGdpbg ==?=

,这是响应消息

接受的text/html,应用/ XHTML + xml的,应用/ XML ; q = 0.9,/; q = 0.8 接受编码gzip,deflate 接受语言tr-TR,tr; q = 0.8,en-US; q = 0.5,en; q = 0.3 连接保持活动 主机localhost:51985 升级 - 不安全 - 请求1 用户代理Mozilla/5.0(Windows NT 6.3; Win64平台; 64; rv:54.0)Gecko/20100101 Firefox/54

我该如何解决这个问题?谢谢你的帮助!

回答

0

你有没有发现,当你打的网址http://localhost:51985/api/values/Post/gin从浏览器,它不是一个POST要求不惜一切,而一个GET要求您做,因此错误究竟说所请求的资源不支持HTTP方法“GET”自你打的API端点装饰有[HttpPost]

如果你想测试端点(我是这么认为的),那么你应该考虑这样做或者使用FiddlerPostMan甚至写自己的示例控制台应用程序或左右。 ..

+0

谢谢你的回答,我试图插入我的数据到database.i认为[HTTPpost]标签使此方法post.how我可以将此方法转到Post方法吗?因为我是新的这个web api问题 – omer1596

+0

@ omer1596,请仔细阅读答案...这确实是一种后期的方法,但你不能从浏览器中打你也是这样... – Rahul

+0

okey现在我会尝试邮递员组件 – omer1596