NancyFX: Как проверить, правильно ли переданы значения строки запроса/формы моему обработчику?

Нэнси передает мою строку запроса и значения формы моим обработчикам через динамическуюпеременную. В приведенном ниже примере показаны значения формы, передаваемые обработчику POST через запрос Нэнси, например. Запрос.Форма.xxx.

Обработчик

Post["/"] = _ =>
    {
        var userId = (string) Request.Form.userid;
        if (userId.IsEmpty()) return HttpStatusCode.UnprocessableEntity;
        return HttpStatusCode.OK;
    };

Вы можете видеть, что я привожу идентификатор пользователяк строке, а затем использую метод расширения строки, чтобы проверить, является ли значение нулевым или пустой строкой (эквивалентно строке . IsNullOrEmpty()).

Я бы предпочел иметь метод расширения для динамического типа, чтобы я мог выполнять проверки работоспособности, прежде чем делать что-либо еще. Мне нужен такой код:

if(Request.Form.userid.IsEmpty()) return HttpStatusCode.UnprocessableEntity;

Однако у вас не может быть методов расширения для динамическихтипов. Кроме того, вы не можете проверить наличие свойства через отражение. Добро пожаловать в ДЛР.

Вопрос

Каков самый простой и безопасный способ выполнить предварительную проверку, чтобы гарантировать, что ожидаемые значения запроса/формы были переданы моему обработчику Нэнси?

Спасибо

7
задан biofractal 9 May 2012 в 08:57
поделиться