我正在使用swagger编写一个YAML文档来设计用于克隆资源的RESTful API方法.我有几个选择,不知道哪个最好.有人可以建议吗?
选项:
谢谢你的帮助!
一些同事和我有一个问题,即ajax调用的响应返回一些意想不到的内容.而不是使用各种属性获取简单的JSON对象,result.responseText的值是通用406状态错误页面的HTML标记,表示浏览器不接受MIME类型.
这样的电话是这样的:
$.ajax({
url: '/promociones/cincogratis/canjear-codigo-promocional',
type: this.method,
data: $(this).serialize(),
success: function (result) {
$('.promotion_banner .loader').hide();
$('.promotion_banner').html(result);
},
error: function (result) {
var obj = result.responseText;
if (obj.isRedirect) {
document.location = obj.redirectUrl;
}
else {
$('.promotion_banner .loader').hide();
$(".error-wrapper").removeClass("hidden");
var generic_error = document.getElementById('generic_error').value;
$(".error-wrapper p").html(generic_error);
}
},
beforeSend: function() {
$('.promotion_banner .loader').show();
}
});
Run Code Online (Sandbox Code Playgroud)
控制器对呼叫的响应如下:
Response.StatusCode = (int)HttpStatusCode.NotAcceptable; // 406
return Json(new { errorMessage = LocalErrorMessages.Website_Promotions_FreeFiver_General_Problem, isRedirect = false } );
Run Code Online (Sandbox Code Playgroud)
我们希望result.responseText包含errorMessage和isRedirect的键值,但它们不在那里.
值得指出的是,这个代码是多租户的,由当前的应用程序和另一个代码共享,它的工作非常好.
我们尝试过:
- 配置IIS以显示详细的错误响应而不是自定义页面以获取更多详细信息 - 为解决问题提供了额外的帮助.
- 允许所有响应内容类型到呼叫
- 更改我们网站的文化(目前是es-ES) …