带有正文的Amplifyjs GET请求

Amplifyjs GET request with body

本文关键字:GET 请求 Amplifyjs 正文      更新时间:2023-09-26

我希望能够使用AmplifyJS将GET与消息体一起使用。

我的问题是关于如何使用AmplifyJS实现这一点。

合成测试运行良好(Fiddler是我的测试客户)。但是,当我通过AmplifyJS执行此操作时,"body"会添加到查询字符串中。(编辑:这是底层jQuery"ajax"的限制还是AmplifyJS的选择)

amplify.request.define('trickyGet', 'ajax', {
                url: 'entity/{param}',
                dataType: 'json',
                type: 'GET',
                contentType: '???'
            });

然后

amplify.request({
                    resourceId: 'trickyGet',
                    data: { param: 'paramVal', data: JSON.stringify({'complex1': 'complex1Val'}) },
                    //data: { param: 'paramVal', data: {'complex1': 'complex1Val'}) },
                    success: callbacks.success,
                    error: callbacks.error
                });

我尝试了各种组合,包括如何表示我的复杂数据以及使用什么content-type

如果我将type更改为POST(当然也更改了API的端点),那么一切都会正常工作(data在message-body中)。但是使用get,data被附加到查询字符串中(通过AplifyJS)。

amplify.js使用jQuery的ajax()方法,该方法反过来限制了在get请求期间发送data的方式。