You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地Postgraphile正常,HttpClient发POST请求报405 Method Not Allowed

解决Postgraphile POST请求405方法不允许错误

你遇到的405错误主要出在两个地方,修正后就能正常请求:

  • 请求端点错误:你当前把请求发到了/graphiql,这个是GraphiQL的可视化调试界面,仅接受GET请求用于加载UI,不处理API的POST请求。正确的GraphQL API端点是/graphql。
  • 请求格式错误:你发送的是纯查询字符串,但application/json格式要求内容是包含query字段的JSON对象,不能直接传裸字符串。

修正后的代码示例:

using (HttpClient httpClient = new HttpClient())
{
    // 构造符合JSON格式的请求体
    var requestBody = new { query = "query {accounts {nodes {id,name,street,postalcode,city}}}" };
    var jsonContent = System.Text.Json.JsonSerializer.Serialize(requestBody);
    var httpContent = new StringContent(jsonContent, Encoding.UTF8, "application/json");
    
    // 发送到正确的/graphql端点
    var responseMessage = await httpClient.PostAsync("http://localhost:5000/graphql", httpContent);
    var result = await responseMessage.Content.ReadAsStringAsync(); // 这里要加await才能获取实际结果
}

如果你的项目习惯用Newtonsoft.Json,也可以替换序列化代码:

var jsonContent = Newtonsoft.Json.JsonConvert.SerializeObject(requestBody);

内容的提问来源于stack exchange,提问作者Mohammad Almasi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 05:24:20