localhost:8080でサーバーを実行しています。私はそれに関連したレストランイメージを持つレストランのリストを作りたいと思っています。私は自分のローカルドライブにそのIDで画像をアップロードしています。私のアップロードステータス:Javaジャージー:画像の代わりにimageurlを作成する必要があります
{
"uploadstatus": "C:/data/5731453cf1a60921d4d1b8b8oracle.JPG"
}
私はこのリストを私のコントローラから見つけました。ここで
{
"total": 1,
"list": [
{
"id": "5731453cf1a60921d4d1b8b8",
"name": "Kualalam",
"address": "kkkk",
"restaurantImage": "C:/data/5731453cf1a60921d4d1b8b8oracle.JPG",
"review": null
}
]
}
は私が応答を取得するために使用していたコードです:
@GET
@Produces("application/json")
public Response list() {
Map<Object, Object> apiResponse = new HashMap<Object, Object>();
Map<Object, Object> serviceResponse = new HashMap<Object, Object>();
try {
List<Restaurant> restaurants = restaurantService.list();
serviceResponse.put("total", restaurants.size());
serviceResponse.put("list", restaurants);
return Response.ok(serviceResponse).build();
} catch (Exception e) {
logger.error("Error in getting restaurants list:", e);
apiResponse.put("error", e.getMessage());
}
return Response.status(500).entity(apiResponse).build();
}
私はここに欠けています何を、私はhttp://localhost:8080/data/5731453cf1a60921d4d1b8b8oracle.JPGとしてこの店舗のイメージを取得したいと思います。希望の出力を得るためにコントローラを設定するにはどうすればよいですか?
あなたの応答は 'java.util.HashMap'の型であるようですが、_URL_(' java.net.URL')の型で 'Response'をどのように受け取ると思いますか? –
私は今のようにしようとしています: リストレストラン=レストランサービス。リスト(); for(レストランレストラン:レストラン){ String imageURI = restaurant.getRestaurantImage(); restaurant.setRestaurantImage(AppConstant.RESTAURANT_IMG_URL + imageURI); } –
あなたは_AbsolutePath_のパスを取得し、あなたのservicResponseに設定しようとします。しかし、シングルスレッドでは、パスを読み込んでマップに書き込むことはできません。絶対パスを取得するためにオブザーバーパターンを試してから、_HashMap_に書き込んでください。 –