Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 错误:Model::findById需要参数id环回android_Java_Android_Postgresql_Strongloop_Loopback - Fatal编程技术网

Java 错误:Model::findById需要参数id环回android

Java 错误:Model::findById需要参数id环回android,java,android,postgresql,strongloop,loopback,Java,Android,Postgresql,Strongloop,Loopback,我是新来的环回,我有一个问题。 我创建并管理了一个Postgres数据库,一切似乎都很好。数据库由json中的启动文件创建,并包含所需的值 但当我想要执行findById方法时,我会遇到以下问题: 请求GET/api/members/1?id=1时出错:错误:Model::findById需要id参数 模型定义为: { "name": "Member", "strict": true, "idInjection": true, "base": "User",

我是新来的环回,我有一个问题。 我创建并管理了一个Postgres数据库,一切似乎都很好。数据库由json中的启动文件创建,并包含所需的值

但当我想要执行findById方法时,我会遇到以下问题:

请求GET/api/members/1?id=1时出错:错误:Model::findById需要id参数

模型定义为:

{
    "name": "Member",
    "strict": true,
    "idInjection": true,
    "base": "User",
    "options": {
       "validateUpsert": true
    },
    "properties": {
    "firstname": {
    "type": "string",
    "required": true
    },
    "lastname": {
    "type": "string",
    "required": true
    },
    "questiontype": {
    "type": "number",
    "required": true
    },
    "questionanswer": {
    "type": "string",
    "required": true
    }
    },
    "validations": [],
    "relations": {
    "issues": {
       "type": "hasMany",
       "model": "Issue",
       "foreignKey": "authorId"
    }
我从我的登录活动中调用findById:

 connect_btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            RestAdapter restAdapter = new RestAdapter(getApplicationContext(), "http://" + MY_IP + ":3000/api");
            MemberRepository memberRepo = restAdapter.createRepository(MemberRepository.class);
            memberRepo.findById(1, new ObjectCallback<Member>() {
                @Override
                public void onSuccess(Member member) {
                    System.out.println("Found !");
                }

                public void onError(Throwable t) {
                    System.out.println("Fail");
                }
            });
        }
    });
connect\u btn.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
RestAdapter RestAdapter=new RestAdapter(getApplicationContext(),“http://“+MY_IP+”:3000/api”);
MemberRepository memberRepo=restAdapter.createRepository(MemberRepository.class);
memberRepo.findById(1,newObjectCallback(){
@凌驾
成功时公开作废(成员){
System.out.println(“Found!”);
}
公共作废登记员(可丢弃的t){
系统输出打印项次(“失败”);
}
});
}
});
问题是,当我从loopback在localhost:3000/explorer上执行findById方法时,它返回正确的结果,并且没有任何错误


这个问题只在Android上出现。我使用loopback提供的strongloop库,它使用一个UserRepository类,其中包含登录、注销、查找,。。方法。因此,它们不应该是来自方法本身的任何错误。这就引出了实际问题,我真的不知道它是从哪里来的

我会尝试给出一些建议,如果有任何问题,请告诉我,以便我可以编辑答案:

  • 根据您的错误:
    /api/members/1?id=1
    在路径中使用
    成员
    而不是
    成员
    是否正确<代码>成员来自第
    行英语。复数(类名)
    
  • 如果您可以访问
    Strongloop
    库,请尝试在
    RestContract
    中的
    getVerbForMethod
    的返回语句中添加断点,并检查您的调用是否返回
    GET
  • 对于您的同一个错误,有一个由js调用生成的错误,他们建议编辑对象的
    remoteMethod

ps:根据报告,Android库不再被积极地维护了

,所以在尝试了几天之后,我放弃了strongloop,尝试了使用strongloop 2。现在一切都很好


再次感谢@Signo给你的时间!这是一个令人沮丧的结局,但我想正如你所说的,它可能没有提供正确的请求,我猜它不再被覆盖这一事实让我完蛋了。

请也翻译错误,并将其包含在文本中OK it’s Don’s Now以检查问题是否与Android相关尝试访问Web服务的url(应该是
http://“+MY_IP+”:3000/api/members/1?id=1
)直接从你的浏览器中。你得到结果了吗?嗨,是的,当我直接从浏览器中得到结果时,它会返回一个id=1的成员的json,我正在尝试猜测,但是如果你可以通过直接访问url看到结果,那么在Android中,代码可能会生成一个
POST
请求,而只有
get
可能被启用。你有权使用公开Web服务的方法吗?如果有,你能在问题中添加代码吗?可能是最好的选择,我认为
翻新
Gson
是处理Web服务的最佳库。(这有助于我在创建模型时节省大量时间)快乐编码:)