菜鸟教程小白 发表于 2022-12-11 19:54:11

ios - 如何使用数组作为 header 和 AFNetworking 进行 POST


                                            <p><p>这是标题:</p>

<pre><code>                &#34;url&#34;: &#34;{{host}}/images/bla&#34;,
            &#34;method&#34;: &#34;POST&#34;,
            &#34;header&#34;: [
                {
                  &#34;key&#34;: &#34;Content-Type&#34;,
                  &#34;value&#34;: &#34;application/json&#34;,
                  &#34;description&#34;: &#34;&#34;
                },
                {
                  &#34;key&#34;: &#34;Authorization&#34;,
                  &#34;value&#34;: &#34;Bearer token&#34;,
                  &#34;description&#34;: &#34;&#34;
                }
            ],
            &#34;body&#34;: { ... }
</code></pre>

<p>我尝试分两种情况解决:</p>

<p><strong>案例 1</strong>(崩溃):</p>

<pre><code>NSDictionary *headerDict = @{@&#34;key&#34;: @&#34;Content-Type&#34;,
                                 @&#34;value&#34;: @&#34;application/json&#34;,
                                 @&#34;description&#34;: @&#34;&#34;};

NSDictionary *headerDict1 = @{@&#34;key&#34;: @&#34;Authorization&#34;,
                                 @&#34;value&#34;: kBearerKey,
                                 @&#34;description&#34;: @&#34;&#34;};
NSArray *headerArray = @;

;
</code></pre>

<p><strong>案例 2</strong>(不会崩溃但也不起作用):</p>

<pre><code>weakSelf.requestOperationManager.requestSerializer = ;
;
;
;
;
</code></pre>

<p>无论如何,在 <em>Case 1</em> 中会生成一个警告(并且也会导致崩溃),因为 <code>setValue</code> 应该是 <code>NSString</code> 而不是 <code> NSArray</code>.</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>例如,您可以将 NSMutableDictionary 中的所有 header 值保留为键/值对</p>

<pre><code>NSDictionary *headersDict = @{@&#34;Content-Type&#34;: @&#34;application/json&#34;,
                                  @&#34;Authorization&#34;: kBearerKey };
</code></pre>

<p>然后你可以迭代键值并设置http头</p>

<pre><code>[headersDict enumerateKeysAndObjectsUsingBlock:^(NSString *key, NSString *obj, BOOL *stop) {
      ;
    }];
</code></pre>

<p>在您的情况下,您使用的是数组。您可以迭代数组并设置 header 值,希望这会有所帮助。</p>

<pre><code>for (NSDictionary *dict in headerArray) {

      NSString *key = ;
      NSString *value = ;

      ;
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何使用数组作为 header 和 AFNetworking 进行 POST,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/44650789/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/44650789/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何使用数组作为 header 和 AFNetworking 进行 POST