Booty Calls v1.2.156版本的 MD5 值为:919c7e4dc831ea1adbaf506a3cc1a198

以下内容为反编译后的 GetApkDetailApi.java 源代码,内容仅作参考


package com.dmm.games.api.store.optional;

import com.dmm.games.gson.Gson;
import com.dmm.games.gson.GsonBuilder;
import com.dmm.games.http.DmmGamesHttp;
import com.dmm.games.http.Method;
import com.dmm.games.log.Log;
import java.util.HashMap;
import java.util.Map;
import okhttp3.ResponseBody;

public class GetApkDetailApi {
    private static final String API_URL = "https://games.dmm.com/detail/api/v1/android-app/";
    private static final String HEADER_KEY_ACCESS_TOKEN = "x-access-token";
    private static final String HEADER_KEY_CONTENT_TYPE = "Content-Type";
    private static final String HEADER_VALUE_CONTENT_TYPE = "application/json";
    private static final Gson gson = new GsonBuilder().setPrettyPrinting().create();

    public static class Request extends DmmGamesHttp.Request<Response> {
        private final String accessToken;
        private final String appId;

        @Override
        protected byte[] getBody() {
            return null;
        }

        public Request(String str, String str2) {
            super(Response.class);
            this.appId = str;
            this.accessToken = str2;
        }

        @Override
        protected Map<String, String> getRequestHeaders() {
            HashMap hashMap = new HashMap();
            hashMap.put(GetApkDetailApi.HEADER_KEY_ACCESS_TOKEN, this.accessToken);
            hashMap.put("Content-Type", GetApkDetailApi.HEADER_VALUE_CONTENT_TYPE);
            return hashMap;
        }

        @Override
        public Method getHttpMethod() {
            return Method.GET;
        }

        @Override
        protected String getUrl() {
            return "https://games.dmm.com/detail/api/v1/android-app/?app_id=" + this.appId;
        }
    }

    public static class Response extends DmmGamesHttp.Response {
        private ApkDetailModel parsedBody;
        private String rawBody;

        public ApkDetailModel get() {
            return this.parsedBody;
        }

        public String getRawBody() {
            return this.rawBody;
        }

        @Override
        protected void parse(ResponseBody responseBody) throws Throwable {
            this.rawBody = responseBody.string();
            Log.debug().println("Response Body Raw String : " + this.rawBody);
            this.parsedBody = (ApkDetailModel) GetApkDetailApi.gson.fromJson(this.rawBody, ApkDetailModel.class);
        }
    }
}