GETを介してRESTメソッドにパラメーターを渡そうとしています。
@GET
@Path("{id}")
public Response getUser(@PathParam("id") String id) {
Query qry = em.createQuery("from User c WHERE id = :user_id");
qry.setParameter("user_id", id);
List<User> results = qry.getResultList();
if(results.size() > 0) {
return Response.ok(results.get(0),MediaType.APPLICATION_JSON_TYPE).build();
} else {
return Response.serverError().status(Response.Status.NOT_FOUND).build();
}
}
Restクライアント経由で呼び出す場合:
client = ClientBuilder.newClient();
Response response = client.target(TestPortProvider.generateURL("/user")+"/abc").request().get(Response.class);
その後、メソッドが呼び出されますが、パラメーターは空です。"abc"
GET URLからを削除すると、メソッドは呼び出されません。また、削除して@Path("{id}")
も機能しません。パラメータがあるようですが、理由もなく空です。多分誰かが私が問題を解決するのを手伝ってくれるでしょう。
敬具
悲しいことに、その理由はPathParamの間違ったインポートでした。だから私の机への大きなメモ...チェックされていないものが機能しない場合... IDEによって生成されたインポートをチェックしてください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加