我正在auto-cad中构建插件,并使用带有实体框架的类库和Web API 但是每次我尝试在类库中使用Web API时,响应都会返回“找不到”。 这是我的类库代码
[CommandMethod("Doit")]
public void Test()
{
Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
Checker c = new Checker() { WholeArea = 1000, BuildingArea = 200, Status = 1 };
using (var client = new HttpClient())
{
client.BaseAddress =new Uri("http://localhost:52133/api");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = client.PostAsJsonAsync("Checker", c).Result;
if (response.IsSuccessStatusCode)
{
ed.WriteMessage("Hello data");
}
else
{
ed.WriteMessage((response.StatusCode).ToString());
}
}
}
这是我的控制器发布方法
// POST: api/Checkers
[ResponseType(typeof(Checker))]
public IHttpActionResult PostChecker(Checker checker)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.Checkers.Add(checker);
db.SaveChanges();
return CreatedAtRoute("DefaultApi", new { id = checker.ID }, checker);
}
首先:现在我不知道返回该代码的问题是什么? 第二-如果没有使用.net core在cad中构建插件
答案 0 :(得分:0)
您是否看到404响应代码? 您是否尝试过从邮递员或提琴手调用api方法? 我总是尝试从其中之一调用,以便确定api正确响应。这将告诉您问题是否出在您使用的代码中。
我注意到您正在使用PostAsJsonAsync调用api方法,但是api方法未标记为异步,这可能是问题吗?
api方法也没有用HttpPost属性修饰;我不确定这是否有必要,但我会分别尝试其中的每一个