首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在类库中使用Web API

在类库中使用Web API
EN

Stack Overflow用户
提问于 2018-12-20 17:46:40
回答 1查看 1.1K关注 0票数 0

我在auto-cad中构建插件,并在实体框架中使用类库和web API,但每次我尝试在我的类库中使用web API时,响应都会返回“找不到”。这是我的类库代码

代码语言:javascript
复制
[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方法

代码语言:javascript
复制
// 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内核在auto-cad中构建插件

EN

回答 1

Stack Overflow用户

发布于 2018-12-20 19:28:58

您看到的是404响应代码吗?你有没有试过从邮递员或小提琴手那里调用api方法?我总是尝试从其中之一进行调用,这样您就可以确定api是否正确响应。这将告诉您问题是否出在您的消费代码中。

我注意到你正在使用PostAsJsonAsync来调用api方法,但是api方法没有被标记为异步,这会是问题所在吗?

api方法也没有使用HttpPost属性进行修饰;我不确定这是否是必需的,但我会分别尝试每一个

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53866053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档