Java 错误:Model::findById需要参数id环回android
我是新来的环回,我有一个问题。 我创建并管理了一个Postgres数据库,一切似乎都很好。数据库由json中的启动文件创建,并包含所需的值 但当我想要执行findById方法时,我会遇到以下问题: 请求GET/api/members/1?id=1时出错:错误:Model::findById需要id参数 模型定义为: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",
{
"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服务的最佳库。(这有助于我在创建模型时节省大量时间)快乐编码:)