私は2つの異なるクエリ文字列/パラメータ構造を必要とする2つのAPIを持っていますが、これをどうやって行うのか自分自身で理解しようとしています。これは、検索を行うには、ボタンのinput
その基本的にクリックするだけを持っていないため角2 HTTP要求のクエリ文字列を作成する
両方のAPIがGET
要求しているがAPI 1 URLリクエストは、
www.website.com/api/User?username=niceguy
API 2リクエストURLのようなものです、 API1はクエリ文字列構造を構築するためにinput
を持っています。
www.website.com/api/User
二つの異なるクエリ文字列が、私は唯一のため、私はそれは難しい私のクエリ文字列を構築するために見つけることだダイナミックな目的のために1つの検索機能を使用しています、同じオブジェクトを返します。
クエリ文字列を作成するための関数を作成しましたが、API 1構造体しか使用しませんでした。
HTTP
リクエストがAPI 2構造をどのように受け取ることができるかを誰かが指摘できますか?
function queryStringBuild() {
let result: string = "?";
//for each of the input search terms...
this.searchBoxCount.forEach((inputSearch: any) => {
// first reparse the input values to individual key value pairs
// Checks which field is not null and with empty string (space)
if (inputSearch.value != null && (inputSearch.value != "")) {
let inputValues: string = inputSearch.value
.split("\n")
.filter(function (str) { return str !== "" })
.join("&" + inputSearch.name + "=");
// then add it to the overall query string for all searches
result = result + inputSearch.name + "=" + inputValues + "&"
}
});
// remove trailing '&'
result = result.slice(0, result.length - 1);
return result;
}
APIリクエスト
getRequest() {
this.http.get('www.website.com/api/' + this.queryStringBuild)
...
}
Angular2の 'URLSearchParams'を使用し、自分でクエリ文字列を構築しないでください。 –