簡體   English   中英

在webapi asp.net中,我遇到以下錯誤。,響應狀態代碼未指示成功404(未找到)

[英]In webapi asp.net I am getting following error.,response status code does not indicate success 404 (not found)

從Web API調用get方法時出現以下錯誤。 這是我的控制器類。

[RoutePrefix("api/AnnouncementController")]
public class AnnouncementController : ApiController
{
    // GET api/<controller>
    [Route("{code}")]
    [HttpGet]
    public IEnumerable<EAnnouncement> Get(string code)
    {
        return AnnouncementC.getdata(code);
    }
    ...
}

這是我的配置:

{
     public static void Register(HttpConfiguration config)
     {
         // Web API routes
         config.MapHttpAttributeRoutes();
     }
}

public class Global : System.Web.HttpApplication
{    
    protected void Application_Start(object sender, EventArgs e)
    {
        GlobalConfiguration.Configure(WebApiConfig.Register);
    }
}

我在這里調用get方法,但不要出錯。 請幫我

protected void Page_Load(object sender, EventArgs e)
{
    string Jcode = (string)(Session["JCode"]);

    GridView2.DataSource = addressBookGrid_GetData(Jcode);
    GridView2.DataBind();
}

public IQueryable<EAnnouncement> addressBookGrid_GetData(string code)
{
     HttpClient client = new HttpClient();
     client.BaseAddress = new Uri("http://localhost:1146");
     client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

     HttpResponseMessage response = client.GetAsync("api/AnnouncementController").Result;
     response.EnsureSuccessStatusCode();

     List<EAnnouncement> addressBooks = response.Content.ReadAsAsync<List<EAnnouncement>>().Result;

     return addressBooks.AsQueryable();    
 }

調用服務時刪除控制器名稱

[RoutePrefix("api/Announcement")]

 HttpResponseMessage response = client.GetAsync("api/Announcement").Result;

您的api methord期望一個參數傳遞參數,例如

 client.GetAsync("api/Announcement/1").Result;

[Route("api/Announcement/{code}")]使用此方法修飾您的操作方法頂部

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM