通过获取参数 asp-net API 发送 url

本文关键字:API 发送 url asp-net 参数 获取 | 更新日期: 2023-09-27 18:34:50

我在将图像 URL 传递到我的 API 控制器时遇到问题。

控制器:

    [HttpGet]
    [Route("cont/getByUrl/{url}")]
    public string Get(string url)
    {
         //code         
    }

我的阿贾克斯电话

  $.ajax({
      url: "http://localhost:64444/api/cont/getByUrl/"+ encodeURIComponent("http://www.moooi.com/sites/default/files/styles/large/public/product-images/random_detail.jpg?itok=ErJveZTY"),
      type: 'GET'
   });

如果我的参数是一个简单的字符串,我会到达那里,但是如果我发送一个 Url Always with 404,我使用的是 IIS 7.5。

我需要在我的 Web.config 上进行一些更改,或者我不能这样做?

通过获取参数 asp-net API 发送 url

使用 encodeURI 而不是 encodeURIComponent,然后尝试

因为不要调用 encodeURIComponent,因为它会破坏 URL

你的Ajax调用应该是这样的

$.ajax({ url: "http://localhost:64444/api/cont/getByUrl/"+ encodeURI("http://www.moooi.com/sites/default/files/styles/large/public/product-images/random_detail.jpg?itok=ErJveZTY"(, 类型:"获取" });

您可以使用 ActionName 代替 Route。

用户控制器的示例:

// Get: api/Users/GetPostUser
[HttpGet, ActionName("GetPostUser")]

链接将是这样的:http://localhost:64444/api/Users/GetPostUser(使用正确的端口(