Если вы все еще ищете ответ, перейдите по следующей ссылке для получения помощи. https://github.com/noirbizarre/flask-restplus/issues/18
. аналогичная проблема, я использовал эту ссылку, чтобы решить мою проблему
Частью решения может быть эта помощь
{"product" : [
{
"product_id" : 33,
"total_price" : 50,
"quantity": 2
},
{
"product_id" : 18,
"total_price" : 40,
"quantity": 2
}
]
}
order = api.model( "product" : { "product_id" : fields.String, "total_price" : fields.Integer, "quantity": fields.Integer } })
@api.route('/somewhere')
class MyAPI(Resource):
@api.expect([order])
def post(self):
pass
or
@api.route('/somewhere')
class MyAPI(Resource):
@api.doc(body=[order])
def post(self):
pass
для "user_id", я буду использовать @api.extend
, чтобы расширить мою модель и попробовать, так как Я не пробовал это, поэтому я не могу комментировать, вам нужно проверить эту часть и обновить
Способ, которым работы Переполнения стека отличаются двумя важными способами от той статьи CodeProject.
Переполнение стека выполняет свой запрос Ajax против действия контроллера MVC ASP.NET, не автономную страницу ASPX. Вы могли бы рассмотреть это как аналог MVC метода страницы ASP.NET AJAX. В обоих случаях метод ASPX отстанет с точки зрения производительности.
Запрос Ajax Переполнения стека возвращает JSON сериализированный результат, не произвольный простой текст или HTML. Это делает обработку его на стороне клиента более стандартизированной и обычно более чистой.
Например: когда я проголосовал за этот вопрос, запрос XmlHttpRequest был выполнен к/questions/171000/vote с "voteTypeId" 2 в данных POST.
Контроллер, который обработал запрос, добавил мой голос таблице где-нибудь и затем ответил этим JSON:
{"Success":true,"NewScore":1,"Message":"","LastVoteTypeId":2}
Используя ту информацию, этот JavaScript заботится об обновлении клиентского дисплея:
var voteResult = function(jClicked, postId, data) {
if (data.Success) {
jClicked.parent().find("span.vote-count-post").text(data.NewScore);
if (data.Message)
showFadingNotification(jClicked, data.Message);
}
else {
showNotification(jClicked, data.Message);
reset(jClicked, jClicked);
if (data.LastVoteTypeId) {
selectPreviousVote(jClicked, data.LastVoteTypeId);
}
}
};
Если Вы используете WebForms, пример вызова методов страницы, которые Вы нашли на моем блоге, находится определенно на правильной приблизительной оценке.
Однако я предложил бы, чтобы Вы рассмотрели веб-сервис для любой централизованной функциональности (как этот избирательный пример) вместо методов страницы. Методы страницы, кажется, немного легче записать, но они также имеют некоторые недостатки повторного использования и имеют тенденцию обеспечивать иллюзию дополнительной защиты, которая не является действительно там.
Это - пример выполнения того же самого, которое Вы нашли, но с веб-сервисами (комментарии к этому сообщению, на самом деле ведомому к сообщению, Вы нашли):
http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/
Эта ссылка - то, что я нашел, чтобы быть лучшей вещью сделать и позволить мне использовать JavaScript и веб-методы.
Можно просто использовать стандартный вызов Ajax для выполнения этого. Создайте .aspx страницу, которая обновляет базу данных в ее методе Page_Load и отображает любую желаемую информацию (как текущее значение DB после обновления) как XML. Затем выполните вызов Ajax к той странице с помощью jQuery.
Можно также возвратить фрагмент HTML (т.е. обновленный GridView) и использовать jQuery для вставки обновленного HTML в текущую страницу.
Править: Демонстрационные 2 на этой странице должны быть очень близко к тому, что Вы хотите:
http://www.codeproject.com/KB/ajax/AjaxJQuerySample.aspx