E aí gente beleza mais um vídeo aqui sobre Gol a gente vai falar mais um pouquinho sobre o nosso projeto a gente vai criar os nossos objetos de requests aqui a gente vai criar o nosso objeto de request receber na nossa requisição e retornar objeto de Bridgestone queimocado só para a gente entender essa questão de objeto de Jason aqui dentro do Gol Beleza então vamos lá para o vídeo [Música] Então vamos lá pra gente conseguir prosseguir com o nosso projeto precisamos ter quais objetos e informações vamos manusear dentro do nosso projeto então aqui a gente precisa criar os nossos objetos no request para a gente poder receber as informações do usuário de responsa pra gente poder retornar alguma informação desse usuário Beleza então a gente Primeiro vai criar uma pasta chamada Model barraquesh e modo barce dentro do controle tá então para que possamos criar objetos de entrada e saída da aplicação então aqui dentro de controle você vai criar uma pasta aqui dentro tá então a gente vai chamar de model/pread beleza e aí que dentro a gente vai colocar ilzer underline request. goou certo e dentro de modo também a gente vai criar uma outra pasta então a vai criar uma pasta chamada response barra user_ou Beleza então é isso que a gente vai criar então a gente vai ter aqui o nosso objectory Quest e nosso objeto responde aqui dentro do nosso projeto tá bom aqui dentro agora a gente vai criar as nossas propriedades do nosso objeto então conseguimos completar aqui o nosso primeiro che playlist aqui né nosso primeiro item E aí a gente vai criar dentro de request que ele era objeto com os seguintes Campos e-mail password name e age vai ser um objeto simples que a gente vai tratar aqui tá a gente vai ter só quatro Campos desse objeto só para não ficar muito complexo tá então aqui dentro a gente vai criar um pack de Rick Quest né que é o objeto que a gente vai criar um novo Nosso pacote no caso né aqui dentro a gente vai criar um Type user Quest certo user Quest e a gente vai criar uma Strike aqui certo aqui dentro a gente vai ter o campo e-mail que vai ser do tipo string a gente vai ter o campo password que vai ser do tipo string a gente vai ter o campo name que vai ser do tipo string tá vai ter um campo Eight que vai ser do tipo 28 tá 28 porque a gente não precisa de muito espaço tá o 28 ele já vai já que é um número ali até 100 140 no máximo a gente não vai ter muito espaço não vai precisar de muita coisa então a gente oito aqui ele se sai muito bem tá bom completamos aqui criando o nosso objeto Quest agora a gente vai criar objeto de response tá então para a gente criar o nosso objeto de responsa bem parecido Então vou até copiar esse nosso objeto você vai voltar em src Controller Model response então aqui dentro a gente vai criar o nosso objeto então o pack de response certo então a gente vai criar aqui pack a gente vai colar aqui o cara que eu acabei de copiar ao invés de user request a gente vai chamar de user tá então e os reis Ponce a gente vai criar aqui nosso objeto beleza só que com duas diferenças aqui a gente vai criar o nosso campo Haiti que vai ser do tipo string para a gente poder retornar Qual o ID daquele cliente que a gente tá falando tá bom pra pessoa poder também saber qual a egi e ela utilizar aí dicas ela preferir para fazer alguma alteração ou para buscar aquele usuário Beleza então a gente vai ter o id e a gente vai tirar o campo password daqui porque eu não quero ficar retornando o campo senha pra pessoa a pessoa sabe a senha dela se ela não souber a gente vai ter o fluxo de esquecer senta talvez tá mas aqui a gente não vai ter a parte de 100 a gente não pode ficar se tornando a senha do usuário para lá e para cá mesmo que seja encriptado a gente não vai fazer isso tá bom então a gente vai ter esses objetos aqui de response então completado aqui nosso terceiro ponto a gente vai ter adicionar propriedades de Jason Em ambos os objetos para que seja possível converter de Jason para objeto e de objeto para jeans Então o que isso quer dizer né quando eu tenho esse objeto responde que que vai acontecer quando migrar ele quando passar ele para Jason ele vai retornar um campo aí com aí de maiúsculo o e-mail com e maiúsculo não ele não vai fazer isso tá como que a gente faz para poder mostrar pro gol que a gente quer que aquele Campo seja chamado de outra forma dentro do Jason aqui no vinho tem um cara chamado gol é de tags tá então o gold tags ele vai adicionar pra gente mas você pode simplesmente fazer o seguinte você vem aqui no fim você vai colocar apóstrofe se eu não me engano é um nome disso Apóstolo aí aqui dentro você vai colocar Jason dois pontos você vai colocar abre e fecha aspas duplas e você vai colocar Qual o nome do campo que você quer então vai estar lá Jason aí no caso que eu quero dizer que o campo aí de maiúsculo quando for convertido para Jason ou quando tiver um Jason para converter para objeto eu quero que pegue ou que transforma esse campo num nome ID dentro do Jason Beleza então aqui quando a gente for mexer com besom no caso que no caso é o nome utilizado para quando você vai usar mongo bebê você vai colocar aqui besom e você vai apontar Qual o nome desse campo dentro do banco de dados longo do bebê a gente vai poder apontar e tem como você colocar XML aqui tem como colocar tudo beleza então vocês vão lá e colocam para todos os campos desse cara tá então vou adicionar aqui Gold tags e ele vai adicionar aqui para mim certo então tudo feito aqui no nosso responde então a gente vai fazer a mesma coisa dentro de Controller Modern Quest a gente vai entrar nesse cara vai dar um Gold tags aqui novamente tá estamos prontos aqui com os nossos objetos certo então agora por último a gente vai adicionar o nosso objeto requestion shood bying Jason do nosso controle então como assim tá então vamos Minimizar aqui esse cara então vamos lá no nosso controle agora dentro de Create user que é o que a gente vai fazer primeiro tá bom dentro aqui a gente vai apagar esses dois cód que eu tinha criado no vídeo passado tá E aí que dentro a gente vai fazer o seguinte a gente vai criar um var objeto a gente vai criar um var e user request certo que vai ser do tipo request que é o nome do nosso pacote ponto e usar request que é o que a gente quer de objeto então ele vai importar ali pra gente e aqui dentro dentro desse C quem quer sergin. com esse gincontex basicamente é o contexto da requisição vai ter tudo que vem na requisição dentro desse objeto beleza e dentro desse cara ele tem um cara chamado shood bying Jason tá ele tem vários tipos tá tem estilo by header e animal XML é assim por diante mas o que a gente quer Jason que é o que a gente vai utilizar Tá bom então enxuto em Jason que que ele vai pedir pro parâmetro aqui pra gente tá então por parâmetro aqui ele vai pedir pra gente um Object n tá então ele vai pedir um objeto aqui para ele poder jogar esse valor do Jason então o que que ele vai fazer ele vai pegar o baile da requisição que é Jason e vai jogar esse Jason dentro de Algum objeto qual o objeto Quest certo só que pra gente jogar dentro do objeto original a gente vai colocar um e comercial easer request que no caso é o nome do nosso ponteiro né no caso a gente vai jogar dentro do endereço de memória Quest tá bom E aí ele me retorna para a gente um error tá então se você ver aquele retorna um erro para gente então o que que a gente vai fazer ifrr recebe de Jason que no caso a gente vai criar uma variável erro no fim a gente vai colocar dois pontos e vírgula RR diferente de nulo Então a gente vai validar se tudo bem disso Executor ele vai retornar um erro se o erro foi diferente de nulo a gente vai fazer o quê A gente vai basicamente criar um objeto West error aqui tá Então a gente vai colocar a partir error que no caso é uma bad request que a gente quer retornar para o usuário né já que é uma bad request que a gente quer retornar para ele então a gente vai criar a partir de um Bad requash error Qual a mensagem de erro que a gente vai passar a gente pode colocar aqui der ar são correct Fields por exemplo tá bom E aí a gente vai colocar aqui por exemplo a gente vai colocar porcentagem s tá E aí a gente vai colocar err aqui no fim só que para a gente poder fazer isso a gente precisa do fgt.
springf então aqui a gente vai colocar FMT ponto Sprint F para gente poder combater na variáveis tá E aí a gente vai ter aqui nosso objeto completo tá então com o nosso rest error agora a gente simplesmente pode fazer o quê c ponto Jason que no caso tá falando para o jinglene que retornar um Jason para essa pessoa que chamou minha requisição e ele vai pedir duas coisas aqui ele vai pedir Qual é o código que é um inteiro e qual é o objeto que ele quer retornar Então a gente vai colocar que a gente quer retornar o resto error ponto code que é o código que vai retornar a partir desse método New beadway vírgula Crash RR certo que no caso objeto que a gente quer retornar e a gente dá um return para caso para ele não continuar o código certo depois disso a gente simplesmente vai fazer o quê fmt. preencher LN e o zumbi Quest pra gente ver qual é o valor que ele retornou aqui pra gente qual o valor que tem na nossa requisição certo então tudo feito aqui a gente você vai fazer o seguinte aqui no caso a gente tem esqueceu de uma cor de duas coisas agora a gente vai colocar aqui um barra invertida n certo e aqui é rr ponto erro que no caso a gente quer a mensagem string no nosso erro beleza então vamos rodar aqui o nosso código então se a gente der um goreamer. gov ele vai inicializar as nossas rotas aqui certo e vamos abrir o Postman aqui então no nosso post ele salvou aqui a nossa última requisição de Create user a gente vai clicar aqui embaixo vai clicar em Roll vai clicar em vai estar aqui no caso Jason que eu tava testando antes mas vai estar que texto você vai colocar Jason aqui beleza e aqui dentro a gente vai criar o nosso objeto do request Então vamos criar aqui as duas Chaves e a gente vai passar o que para esse cara então vamos voltar lá no nosso objeto pra gente saber o que que a gente tem que mandar nessa requisição Então dentro do request a gente vai criar Beleza então aqui tem e-mail password name e age Então vamos criar esses caras lá dentro então e-mail vamos passar aqui para essa requisição Otávio @test.
com por exemplo a gente vai precisar passar um password certo então passar aqui password vamos passar um password teste vamos passar name Otávio e por último age Então age Vão passar aqui 20 vamos passar aqui vamos dar um post antes da gente dar um pulso deixa eu fechar esse cara aqui tá apagar essa última vírgula Vamos dar um post retornou 200 Ok e não retornou um erro para gente na hora que a gente voltar aqui ah lá Otávio arroba teste então ele printou o nosso objeto aqui que a gente mandou Otávio rouba teste mandou um teste que é a senha que a gente enviou Otávio que é o nome que a gente enviou e 20 que é a idade que a gente enviou e ele printou logo abaixo que retornou um código 200 que retornou 95 micros foi um método post e foi na rota barra crewser então ele printou aqui tudo bonitinho Por isso que eu gosto desse handler aqui desse Midway no caso do ginkgoni Beleza então e se a gente enviar algum dano incorreto a gente vim aqui no e-mail e a gente passar o número 20 aqui por exemplo passar um número aqui no lugar do e-mail então ele vai printar só um craftfields error Jason que nota marshan Number int You Go startfield user quest. email então ele não conseguiu jogar o número dentro do user request.