私はチュートリアルに続き、またStackoverflowの質問hereを使用しています。Java Jerseyアプリケーションでクエリパラメータを使用するには?
GET>> localhost/api/get?user=123
応答されています:
{"auth":true}
Serverコンソール:
package com.crunchify.tutorial;
import javax.ws.rs.DefaultValue;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Consumes;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.UriInfo;
import org.json.simple.JSONObject;
@Path("api")
public class CrunchifyAPI {
@SuppressWarnings("unchecked")
@GET
@Path("/get")
@Consumes(MediaType.TEXT_PLAIN)
public String get(
@DefaultValue("111") @QueryParam("user") int user,
@Context UriInfo uriInfo
) {
MultivaluedMap<String, String> queryParams = uriInfo.getQueryParameters();
String nameParam = queryParams.getFirst("user");
System.out.println("Data Received: " + uriInfo.getRequestUri().getQuery()
+ " | " + nameParam);
JSONObject obj = new JSONObject();
obj.put("auth", true);
String ret = JSONObject.toJSONString(obj);
return ret;
}
}
後は、私は郵便配達からGET'ingていますものです: はここに私のJavaクラスです
Starting Crunchify's Embedded Jersey HTTPServer...
Started Crunchify's Embedded Jersey HTTPServer Successfully !!!
Data Received: ?user=123 | null
User Authenticated: true
String、Integerなどを渡してみましたが、何も動作しません。 uri Infoは正しく印刷されており、返答もうまくいきます。問題は、Javaコードでパラメータを読み取らないということです。私はこれを得ることができたら、他の多くのパラメータを渡す必要があります。提案してください。ありがとう!!
サーバーコンソールで次のように出力されることを期待しています: 'データ受信:?ユーザー= 123 | 123 ' 同様に、後でStringと(可能であればJSONかもしれません)を渡したいと思います。 –