簡體   English   中英

如何在 Moya 請求中通過 POST 請求傳遞原始 JSON 正文

[英]How to pass raw JSON Body with POST request in Moya request

我正在使用Moya<\/code>庫在我的項目中調用 api。

現在是在正文中通過 POST 請求傳遞原始 json 對象(將多個對象作為單個對象)所需的 API 之一。 它在郵遞員中工作正常。

檢查下面的屏幕截圖,

還要檢查原始正文 json,

    {
            "geometry": {
                "location": {
                    "lat": "22.7195687",
                    "lng": "75.8577258"
                }
            },
            "icon": "https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/geocode-71.png",
            "name": "Indore",
            "photos": [
                {
                    "photo_reference": "Aap_uECCOLowEnJ2yBUzF0nwRjV5jBx2_JWsofVosuLVvlr-ClIMHNR5-QGIe4phK-3_Bj_laHD_XH_LvlmGDzm33KvxuO1XzaZocxTLOVUdSGI3_otXvpx_FbuzmwiibZiylQEMkekTLKbLdXjK8H3w10nOcoJE-InDVvf5P7Cvyum_kk9k"
                }
            ],
            "place_id": "ChIJ2w1BG638YjkR9EBiNdrEbgk",
            "reference": "ChIJ2w1BG638YjkR9EBiNdrEbgk",
            "types": [
                "locality",
                "political"
            ],
            "vicinity": "Indore"
        },
        {
            "geometry": {
                "location": {
                    "lat": "22.7429365",
                    "lng": "75.8867267"
                }
            },
            "icon": "https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/generic_business-71.png",
            "name": "Visual Maker",
            "photos": [
                {
                    "photo_reference": "Aap_uED84yCmvAirxt-dSdPPSE3O_eBSunEiSOM1Uzr0kNNMiJBVvPtBuCuwck2Ek0CDg7S8JP09Iva3Rjhq63O1Tyql_CTeMRF_GWC19QfZUFwwvadcRbfLWo6Wqn4ndCTCh5A6RV212PJcB0HZqe6YV7FphiV_XjkP9pCvk5JLDKNrvOXz"
                }
            ],
            "place_id": "ChIJGwLEIlr9YjkRnr8uTQiQ8KU",
            "reference": "ChIJGwLEIlr9YjkRnr8uTQiQ8KU",
            "types": [
                "university",
                "general_contractor",
                "point_of_interest",
                "establishment"
            ],
            "vicinity": "behind Anop Cinema, K/112, LIG Colony, Indore"
        },
 }

要在請求正文中發送復雜的參數,您可以使用 Moya 函數:

requestCompositeData(bodyData: Data, urlParameters: [String: Any])

Moya 對此功能有此評論:

一個帶有數據的請求體,結合 url 參數

所以這個函數允許我們在請求正文中發送任何內容。

例如,這樣的事情是一個很好的方法:

import Moya
import SwiftyJSON

// Data task in MoyaProvider

var task: Task {
        switch self {
        case .categoriesAndSubCategories:
            
            let graphQLJson = JSON([
                [
                    "query": "query categories { categories { id, title, description, slug, adsStats, subcategories { id, title, slug } } }"
                ]
            ])
            
            return .requestCompositeData(bodyData: try! graphQLJson.rawData(), urlParameters: [:])
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM