You need to enable JavaScript to run this app. Retrofit发起注册POST请求提示无匹配HTTP资源该如何解决?
优惠活动
大模型
产品
解决方案
定价
更多

Retrofit发起注册POST请求提示无匹配HTTP资源该如何解决?

问题排查解决步骤

你遇到的404报错核心原因是请求路径和后端实际暴露的接口路径不匹配,按以下优先级排查:

  • 第一,核对Retrofit的BaseURL与接口路径拼接是否正确
    你Postman调用的完整有效接口路径为:http://202.69.38.84/UIGAttendance/API/UIGAttendance/UserRegistration,拆分后路径段为UIGAttendance/API/UIGAttendance/UserRegistration,而你当前@POST注解中仅填写了UIGAttendance/UserRegistration,缺失了前缀路径段:

    如果你配置的Retrofit BaseURL为http://202.69.38.84/,需要将@POST的参数修改为完整路径:

    @POST("UIGAttendance/API/UIGAttendance/UserRegistration")
    @FormUrlEncoded
    Call<RegistrationListApi> signUp(@Field("CNIC") String CNIC ,@Field("FullName") String FullName,
                                     @Field("address") String address, @Field("Email") String Email,
                                     @Field("Mobile") String Mobile, @Field("Username") String Username,
                                     @Field("Password") String Password, @Field("HostName") String HostName);
    

    如果你配置的Retrofit BaseURL为http://202.69.38.84/UIGAttendance/API/,则当前@POST的参数不需要修改,确认BaseURL拼写正确即可。

  • 第二,核对请求方式与参数传递规则
    你当前Postman测试时将参数放在URL的query参数中,属于GET请求的传参方式,而你定义的是POST+表单传参:
    1. 确认后端接口要求的请求方式为POST,参数需放在x-www-form-urlencoded请求体中
    2. Postman测试时切换到POST请求,将参数从Params栏移到Body栏的x-www-form-urlencoded分类下,避免用query传参
  • 第三,核对路径大小写与拼写
    部分服务端框架对路径大小写敏感,逐段核对路径拼写、大小写是否和后端提供的接口文档完全一致,不要漏写/多写斜杠
  • 第四,核对服务端可用性
    若以上配置都正确仍报错,确认当前网络能正常访问服务端地址,没有被防火墙拦截,且后端接口正常部署上线没有下线

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 19:54:07