Я использую WebApiContrib.Formatting.Jsonp в службе веб-API 2, а также Swagger для документации и тестирования API.Обработка недействительных запросов JSONP в веб-API
Когда я вызвать любой метод JSONP через Swagger, мои сбои службы в файле JsonpMediaTypeFormatter.cs на следующей строке:
throw new InvalidOperationException(Properties.Resources.NoCallback);
// NoCallback = The name 'NoCallback' does not exist in the current context
С одной стороны, я не понимаю, почему Swagger не позволяет указать имя обратного вызова для запросов JSONP. Но что более важно, я не хочу, чтобы служба рушилась из-за этого.
Вопросы:
- Как мы можем обрабатывать такие ошибки на стороне службы?
- Есть ли способ сделать Swagger правильно отправлять запросы JSONP? (Например, предварительно определив имя обратного вызова для всех запросов JSONP?)
Использование стельку http://www.telerik.com/ скрипач или что-то подобное, чтобы убедиться, что ваши запросы jsonp хорошо сформированы. Есть ли у вас причина использовать JSONP, а не простой JSON, отличный от CORS? – Stack
Продукты Telerik для .NET - все коммерческие, я не могу использовать их по этой причине, плюс я подозреваю, что это будет излишним типом вопроса, который я задаю. И мне нужен JSONP для обработки запросов среди многих серверов, так что да, CORS - единственная причина, по которой я его использую. –
Его просто бесплатный прокси-сервер отладки. Это бесплатное автономное настольное приложение, не имеющее ничего общего с .NET. Все, что он делает, - это захват ваших HTTP-запросов/ответов для отладки. Вы можете попробовать что-то вроде https://www.getpostman.com/, которое довольно, но не так гибко, как Fiddler. – Stack