Vinicius Quaiato

{tecnologia, conceitos, negócios, idéias, práticas, .NET, ruby, osx, ios e algo mais}

Trabalhando com valores via POST no Nancy


Mostrei um pouco o que é o framework Nancy e como começar a trabalhar com ele. No primeiro post mostrei apenas como trabalhar com requisições GET. Vamos então entender como trabalhar com valores via requisições POST.# Valores POST no framework Nancy Espero que vocês já tenham configurado sua aplicação para Nancy (se não viram confiram aqui).Vamos criar um módulo Nancy, como abaixo:

namespace NancyModulePost{    using Nancy;
    
public class MainModule : NancyModule    {        

public MainModule()        {            Get["/"] = p =>            {
return View["formulario.cshtml"];
    }
;
    Post["/postar"] = p =>            {
var nome = Request.Form["Nome"];
var sobrenome = Request.Form.Sobrenome;
return View["postado.cshtml", new Dados(nome, sobrenome)];
    }
;
    }
    }
}

Simples não? Vejam que na linha 14 estamos definindo uma "rota" para requisições do tipo POST para "/postar". Para recuperar os valores enviados do formulário precisamos acessar o dicinário Form do objeto Request. Por enquanto não existem nenhum model binder no Nancy (existe um spike que pode ser visto aqui (https://github.com/grumpydev/Nancy/tree/ModelBindersSpike).Desta forma podemos acessar os valores tanto através da sintaxe index-based usando Form["chave"] ou a sintaxe dynamic com Form.Chave.A nossa view não contém mais do que um simples formulário html:

Sobrenome: </label>        <input type="text" name="Sobrenome" /><br />        <input type="submit" value="Postar" />    </form></body>

Repare que a action do form é "/postar" ou seja, vai cair no mapeamento que fizemos no nosso módulo do Nancy.Criei também uma view para exibir os dados postados:

<body>    Nome postado: @Model</body>

Pronto! Isso é tudo. Agora temos os dados postados e estamos exibindo-os. Claro poderíamos manipulá-los de algumas maneiras, inserir no banco, etc (falarei sobre banco de dados em post futuro).Confira abaixo o resultado:Exibindo view com formulario POST em Nancy

Exibindo dados enviados via POST com Nancy

É isso aê galera. Em breve posto mais coisas sobre este framework: Nancy. enquanto isso baixem o fonte, brinquem, olhem os testes, etc.

Abraços, Vinicius Quaiato.

Voltar

Fork me on GitHub