// リクエストURLを生成する関数
function generateRequestUrl(endpoint, queryParams){
if (!endpoint){
throw "エンドポイントが指定されていません。";
}
var isFirstParam = true;
var requestUrl = endpoint;
// クエリパラメータの指定があれば付与
if (queryParams){
for (var param in queryParams){
if (!queryParams[param]){
return true;
};
var delimiter = (isFirstParam ? '?' : '&');
requestUrl = requestUrl + delimiter + param + '=' + String(queryParams[param]);
isFirstParam = false;
};
};
return requestUrl
}
// 例
var url = 'https://api.bitflyer.com/v1/executions';
var queryParams = {
'product_code': 'BTC_JPY',
'count': 10
};
console.log(generateRequestUrl(url, queryParams));
# リクエストURLを生成する
def generateRequestUrl(endpoint, queryParams):
if not endpoint:
raise ValueError("エンドポイントが指定されていません。")
isFirstParam = True
requestUrl = endpoint
# クエリパラメータの指定があれば付与
if queryParams:
for param in queryParams:
if not queryParams[param]:
continue
delimiter = '?' if isFirstParam else '&'
requestUrl = requestUrl + delimiter + param + '=' + str(queryParams[param])
isFirstParam = False
return requestUrl
# 例
url = 'https://api.bitflyer.com/v1/executions';
queryParams = {
'product_code': 'BTC_JPY',
'count': 10
};
print(generateRequestUrl(url, queryParams));