Отображение описания ошибки в ответе WebDAV

Я создал WebDAV-совместимое серверное приложение, которое подключено к веб-папкам Windows. Поскольку я проводил некоторые ручные тесты, чтобы подтвердить, что код выполняет то, что он должен делать, мне было интересно, есть ли способ получить более подробное описание ошибки, с которой столкнулся сервер.

Пример: я пытался сделать PUT для файла с именем "other" в коллекции, которая содержала коллекцию с именем "other". Метод не удался по очевидным причинам, но ответ не содержал информации, которая могла бы помочь пользователю определить, что пошло не так.

Заранее спасибо.

PS: Полагаю, я мог бы поместить описание в тело HTTP, которое, как я полагаю, было бы хорошо для таких клиентов, как cadaver, но этот подход не будет работать для веб-папок Windows.

3 ответа

Решение

Все клиенты ОС Webdav, и в частности Windows, не дают пользователю хороших отзывов о причине ошибок.

Частое решение для бизнес-приложений, в которых известен адрес электронной почты текущего пользователя, заключается в том, что сервер просто отправляет пользователю полное сообщение об ошибке. Это особенно полезно в ситуациях, когда ошибки могут быть вызваны нарушениями бизнес-правил.

Кажется, я нашел ответ. То, что я искал, было хорошо задокументировано в протоколе WebDAV.

Поскольку webdav make collection request - это простой HTTP-запрос с методом MKCOL, вы получите код ошибки в ответ от сервера. В вашем случае вы получите 403(запрещенный) код ошибки. Вы можете локально проверить содержимое вашей папки, если есть повторяющаяся запись, вы даете пользовательское сообщение об ошибке.

Другие вопросы по тегам