Como o servidor DataSnap REST informa ao programa cliente que uma dada regra do negócio não foi obedecida?

16/01/2024

0

Olá.

Estou desenvolvendo um servidor DataSnap REST com o Delphi usando os componentes nativos do Delphi.

O programa cliente acessa o banco de dados por meio do servidor.

As regras do negócio (validação dos campos das tabelas, etc.) se encontram no servidor.

Pergunta:
Suponha que na inserção/atualização de um cadastro de uma dada tabela um dado campo, cujo prenchimento é obrigatório pela regra do negócio, não é preenchido pelo usuário do programa cliente.
O usuário do programa cliente envia este cadastro ao servidor sem este campo preenchido.
Como o servidor irá informar ao programa cliente que este dado campo não foi preenchido?

Já sei como implementar os métodos do CRUD (POST, GET, PUT, DELETE) no servidor e como executar estes métodos no programa cliente por meio dos componentes correspondentes no programa cliente.
Mas não sei como enviar uma mensagem de erro do servidor para o programa cliente caso alguma regra do negócio seja violada.

Alguém poderia me dar uma ideia de como fazer isto?
Marcelo Rosman

Marcelo Rosman

Responder

Post mais votado

16/01/2024

Olá.

Estou desenvolvendo um servidor DataSnap REST com o Delphi usando os componentes nativos do Delphi.

O programa cliente acessa o banco de dados por meio do servidor.

As regras do negócio (validação dos campos das tabelas, etc.) se encontram no servidor.

Pergunta:
Suponha que na inserção/atualização de um cadastro de uma dada tabela um dado campo, cujo prenchimento é obrigatório pela regra do negócio, não é preenchido pelo usuário do programa cliente.
O usuário do programa cliente envia este cadastro ao servidor sem este campo preenchido.
Como o servidor irá informar ao programa cliente que este dado campo não foi preenchido?

Já sei como implementar os métodos do CRUD (POST, GET, PUT, DELETE) no servidor e como executar estes métodos no programa cliente por meio dos componentes correspondentes no programa cliente.
Mas não sei como enviar uma mensagem de erro do servidor para o programa cliente caso alguma regra do negócio seja violada.

Alguém poderia me dar uma ideia de como fazer isto?


Você precisa conhecer primeiro o conceito de requisições HTTP para depois utilizar a tecnologia, seja ela DataSnap ou outro framework que trabalhe com Rest/RestFull
De qualquer forma esse vídeo abaixo deve lhe dar uma luz para o que precisa.

https://www.youtube.com/watch?v=llszNXdNFN4


Boa sorte!

Claudio Andrade

Claudio Andrade
Responder

Mais Posts

16/01/2024

Marcelo Rosman

Olá.

Estou desenvolvendo um servidor DataSnap REST com o Delphi usando os componentes nativos do Delphi.

O programa cliente acessa o banco de dados por meio do servidor.

As regras do negócio (validação dos campos das tabelas, etc.) se encontram no servidor.

Pergunta:
Suponha que na inserção/atualização de um cadastro de uma dada tabela um dado campo, cujo prenchimento é obrigatório pela regra do negócio, não é preenchido pelo usuário do programa cliente.
O usuário do programa cliente envia este cadastro ao servidor sem este campo preenchido.
Como o servidor irá informar ao programa cliente que este dado campo não foi preenchido?

Já sei como implementar os métodos do CRUD (POST, GET, PUT, DELETE) no servidor e como executar estes métodos no programa cliente por meio dos componentes correspondentes no programa cliente.
Mas não sei como enviar uma mensagem de erro do servidor para o programa cliente caso alguma regra do negócio seja violada.

Alguém poderia me dar uma ideia de como fazer isto?


Você precisa conhecer primeiro o conceito de requisições HTTP para depois utilizar a tecnologia, seja ela DataSnap ou outro framework que trabalhe com Rest/RestFull
De qualquer forma esse vídeo abaixo deve lhe dar uma luz para o que precisa.

https://www.youtube.com/watch?v=llszNXdNFN4


Boa sorte!



Caríssimo Claudio Andrade,

Muito obrigado pelo vídeo esclarecedor.

Um grande abraço.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar