Get 請(qǐng)求是在 HTTP 協(xié)議中最常用的一種請(qǐng)求方法。我們可以借助 Get 請(qǐng)求從服務(wù)器中獲取相應(yīng)的資源。但是,我們有時(shí)候需要向服務(wù)器傳遞一些參數(shù),以便服務(wù)器根據(jù)這些參數(shù)返回不同的數(shù)據(jù)。那么,Get 請(qǐng)求能否傳遞 JSON 參數(shù)呢?
答案是可以的。 我們可以將參數(shù)序列化成 JSON 字符串,并將其追加到 URL 后面,以此來向服務(wù)器發(fā)送 JSON 參數(shù)。 以下是一個(gè)例子: GET /api/users?search_params={"name":"Tom","age":20} HTTP/1.1 Host: www.example.com 上述請(qǐng)求會(huì)攜帶一個(gè)名為 search_params 的 GET 參數(shù),它的值是一個(gè) JSON 字符串。 但需要注意的是,GET 請(qǐng)求的 URL 長(zhǎng)度有一定的限制,當(dāng)參數(shù)過多或者參數(shù)值過長(zhǎng)時(shí),URL 長(zhǎng)度可能會(huì)超出瀏覽器或服務(wù)器的限制,此時(shí)就需要使用 POST 請(qǐng)求來傳遞 JSON 參數(shù)。 綜上所述,雖然 Get 請(qǐng)求不太適合傳遞大量或者過長(zhǎng)的 JSON 參數(shù),但是在參數(shù)較少并且較短的情況下,我們可以采用序列化成 JSON 字符串的方式來向服務(wù)器傳遞參數(shù)。當(dāng)然,如果需要傳遞的參數(shù)較多或較長(zhǎng),我們可以考慮使用 POST 請(qǐng)求來傳遞參數(shù)。