SAPUI5框架如何进行批量请求的分步调试应该是multipart/mixed;boundary=batchresponse_后面跟着一个guidsuccesshandler,也就是下图中的fnSuccess,被wraHandler包裹起来。不同content-type的响应对应不同的handler进行处理。如果httpClient.request执行出错,会进入catch分支,报错信息:invalidMIMEparttype用分号分隔multipart/mixed和boundary的具体值。每种类型都有对应的handler,对应的handler调用read方法执行response的解析操作。解析批量操作的response:在报错的情况下,从Chrome开发者工具的network选项卡中下载批量response到本地,与没有报错的场景相比,格式没有区别:问题出在Content-在批处理响应类型字段的标头中。在chrome中看到的content-type不是这样的:body为null,所以无法进入第7884行的dispatchHandler函数:multipart/mixedMIME消息是由不同数据类型混合组成的。每个身体部分都由边界界定。边界参数是一个文本字符串,用于区分消息文本的一部分和另一部分。所有边界都以两个连字符(--)开头。最后的边界也以两个连字符(--)结尾。边界可以包含除空格、控制字符或特殊字符之外的任何ASCII字符。如果我们通过批量请求向服务器发送一个word文档,HTTPbodypayload的例子如下:>()<>@,;:\/[]?=""--Boundary_anyASCII字符,除了下面的一些特殊字符:content-Type:text/plain;----charset=iso-8859-1Content-transfer-encoding:7BIT--Boundary_ASCIIcharactersContent-type:application/msword;name="message.doc"Content-Transfer-Encoding:base64在多部分消息文本的情况下,一个或多个不同的数据集组合在一个文本中,值为multipartContent-Type字段必须出现在HTTP请求实体的header字段中,text部分在语法上类似于RFC822消息,但含义不同,更多Jerry的原创文章在这里:《王子熙》:
