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

VB.NET WEB API 2中GetLogin接口调用失败,请求技术指导

解决ASP.NET Web API 2中GetLogin接口调用失败的问题

首先,你遇到的核心问题是URL参数的分隔符使用错误,另外我们也可以再确认下代码细节确保万无一失:

1. 修正URL的参数拼接方式

你当前的调用URL用了两个问号:

http://localhost:PORT/api/Login/GetLogin?Username=NAME?Password=PASSWORD

这是不符合HTTP规范的错误写法,多个查询参数之间应该用&来分隔,正确的URL格式应该是:

http://localhost:PORT/api/Login/GetLogin?Username=NAME&Password=PASSWORD

2. 优化控制器方法的参数绑定(可选但推荐)

虽然你的GetLogin方法参数默认会自动从查询字符串绑定,但为了代码可读性更强(尤其是团队协作场景),可以给参数加上[FromUri]特性明确指定绑定来源,修改后的代码如下:

<Route("GetLogin")>
Public Function GetLogin(<FromUri> ByVal Username As String, <FromUri> ByVal Password As String) As IHttpActionResult
    ' 这里添加你的业务逻辑,比如验证用户名密码后返回对应结果
    Return Ok(New With {.Success = True, .Message = "登录验证通过"})
End Function

3. 确认WebApiConfig配置的正确性

你的WebApiConfig配置是完全没问题的:既启用了属性路由(config.MapHttpAttributeRoutes()),又保留了默认路由规则,这两种路由模式可以共存,不会影响接口的正常调用。

测试验证

修改URL后,你可以直接在浏览器地址栏输入正确的URL,或者用Postman、curl等工具发送GET请求,应该就能正常访问GetLogin接口了。如果还是有问题,可以排查以下几点:

  • 确认端口号是否和项目运行的端口一致
  • 检查URL中的参数名是否和方法里的参数名完全匹配(HTTP参数名大小写不敏感,但建议保持一致避免混淆)
  • 确认控制器类的RoutePrefix确实设置为"api/Login"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 03:57:42