Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Para o exemplo do CRUD passo a passo iremos utiliza um serviço REST pronto, com o seguinte WADL:

Bloco de código
languagexml
firstline1
titleWADL para serviço de CRUD
linenumberstrue
collapsetrue
<application xmlns="http://wadl.dev.java.net/2009/02">
	<grammars>
		<include href="application.wadl/xsd0.xsd">
			<doc title="Generated" xml:lang="en"/>
		</include>
	</grammars>
	<resources base="http://jvd0000506:8080/datasul-rest/resources/dbo/">
		<resource path="/adbo/boad176na">
			<method id="getAll" name="GET">
				<request>
					<param xmlns:xs="http://www.w3.org/2001/XMLSchema" name="start" style="query" type="xs:int" default="0"/>
					<param xmlns:xs="http://www.w3.org/2001/XMLSchema" name="limit" style="query" type="xs:int" default="10"/>
				</request>
				<response>
					<ns2:representation xmlns:ns2="http://wadl.dev.java.net/2009/02" xmlns="" element="Return" mediaType="application/json"/>
				</response>
			</method>
			<method id="create" name="POST">
				<request>
					<ns2:representation xmlns:ns2="http://wadl.dev.java.net/2009/02" xmlns="" element="RowObject_ad176naVO" mediaType="application/json"/>
				</request>
				<response>
					<ns2:representation xmlns:ns2="http://wadl.dev.java.net/2009/02" xmlns="" element="Return" mediaType="application/json"/>
				</response>
			</method>
			<resource path="{pcod-mensagem}">
				<param xmlns:xs="http://www.w3.org/2001/XMLSchema" name="pcod-mensagem" style="template" type="xs:string"/>
				<method id="delete" name="DELETE">
					<response>
						<ns2:representation xmlns:ns2="http://wadl.dev.java.net/2009/02" xmlns="" element="Return" mediaType="application/json"/>
					</response>
				</method>
				<method id="get" name="GET">
					<response>
						<ns2:representation xmlns:ns2="http://wadl.dev.java.net/2009/02" xmlns="" element="Return" mediaType="application/json"/>
					</response>
				</method>
				<method id="update" name="PUT">
					<request>
						<ns2:representation xmlns:ns2="http://wadl.dev.java.net/2009/02" xmlns="" element="RowObject_ad176naVO" mediaType="application/json"/>
					</request>
					<response>
						<ns2:representation xmlns:ns2="http://wadl.dev.java.net/2009/02" xmlns="" element="Return" mediaType="application/json"/>
					</response>
				</method>
			</resource>
		</resource>
	</resources>
</application>

 

Pelo WADL podemos verificar que este CRUD disponibiliza os serviços REST de GET para buscar os registros da tabela (getAll), GET para um registro da tabela (get), POST para gravar um registro novo na tabela (create), PUT para salvar um registro alterado (update) e DELETE para eliminar um registro da tabela (delete)

A URL de busca de registros da tabela http://localhost:8080/datasul-rest/resources/dbo/adbo/boad176na usando o metodo HTTP GET irá retornar o seguinte resultado:

Bloco de código
languagejs
firstline1
titleResultado do metodo getAll
linenumberstrue
collapsetrue
{
	"messages" : [],
	"length" : 110,
	"data" : [{
			"cod-mensagem" : 0,
			"descricao" : "Sem Mensagem Padrao",
			"texto-mensag" : "",
			"char-1" : "",
			"char-2" : "",
			"dec-1" : 0,
			"dec-2" : 0,
			"int-1" : 0,
			"int-2" : 0,
			"log-1" : false,
			"log-2" : false,
			"data-1" : null,
			"data-2" : null,
			"check-sum" : "",
			"r-Rowid" : "003D056900010000574845524520282850524F47524553535F5245434944203D200000000F0008FFFB0000000000000000000000000000000129292000"
		}, {
			"cod-mensagem" : 1,
			"descricao" : "IPI-TRIBUTADO 5%",
			"texto-mensag" : "* IPI - ALIQUOTA 5%  DECRETO 4542/02\n* TRANSPORTE DE CARGA PROPRIA.",
			"char-1" : "",
			"char-2" : "",
			"dec-1" : 0,
			"dec-2" : 0,
			"int-1" : 0,
			"int-2" : 0,
			"log-1" : false,
			"log-2" : false,
			"data-1" : null,
			"data-2" : null,
			"check-sum" : "",
			"r-Rowid" : "003D056900010000574845524520282850524F47524553535F5245434944203D200000000F0008FFFB0000000000000000000000000000000229292000"
		}, {
			"cod-mensagem" : 2,
			"descricao" : "TRANSPORTE",
			"texto-mensag" : "* TRANSPORTE DE CARGA PROPRIA",
			"char-1" : "",
			"char-2" : "",
			"dec-1" : 0,
			"dec-2" : 0,
			"int-1" : 0,
			"int-2" : 0,
			"log-1" : false,
			"log-2" : false,
			"data-1" : null,
			"data-2" : null,
			"check-sum" : "",
			"r-Rowid" : "003D056900010000574845524520282850524F47524553535F5245434944203D200000000F0008FFFB0000000000000000000000000000000329292000"
		}, {
			"cod-mensagem" : 3,
			"descricao" : "VENDA A ORDEM",
			"texto-mensag" : "S/FATURAMENTO EMITIDA  NOS TERMOS - ART. 129  DO RICMS",
			"char-1" : "",
			"char-2" : "",
			"dec-1" : 0,
			"dec-2" : 0,
			"int-1" : 0,
			"int-2" : 0,
			"log-1" : false,
			"log-2" : false,
			"data-1" : null,
			"data-2" : null,
			"check-sum" : "",
			"r-Rowid" : "003D056900010000574845524520282850524F47524553535F5245434944203D200000000F0008FFFB0000000000000000000000000000000429292000"
		}, {
			"cod-mensagem" : 4,
			"descricao" : "S/FATURAMENTO",
			"texto-mensag" : "S/FATURAMENTO EMITIDA TERMOS DO ART129 DO RICMS-DECRETO 45490/2000.",
			"char-1" : "",
			"char-2" : "",
			"dec-1" : 0,
			"dec-2" : 0,
			"int-1" : 0,
			"int-2" : 0,
			"log-1" : false,
			"log-2" : false,
			"data-1" : null,
			"data-2" : null,
			"check-sum" : "",
			"r-Rowid" : "003D056900010000574845524520282850524F47524553535F5245434944203D200000000F0008FFFB0000000000000000000000000000000529292000"
		}, {
			"cod-mensagem" : 5,
			"descricao" : "CACEX/EXPORTACAO",
			"texto-mensag" : "NUM.REG EXPORTADOR CACEX: .........PORTARIA CAT N* 16/86     SAIDA NAOTRIB CONF ART 7*,PARAG 1 RICMS/2000IPI- IMUNE II DO ART. 18 DO DEC. 2637/98",
			"char-1" : "",
			"char-2" : "",
			"dec-1" : 0,
			"dec-2" : 0,
			"int-1" : 0,
			"int-2" : 0,
			"log-1" : false,
			"log-2" : false,
			"data-1" : null,
			"data-2" : null,
			"check-sum" : "",
			"r-Rowid" : "003D056900010000574845524520282850524F47524553535F5245434944203D200000000F0008FFFB0000000000000000000000000000000629292000"
		}, {
			"cod-mensagem" : 6,
			"descricao" : "SUCATA / RESIDUO",
			"texto-mensag" : "ICMS - DIFERIDO CONF ART 392 DORICMS/2000-DEC. 45490/2000.\n VENDA NO ESTADO EM QUE SE ENCONTRA",
			"char-1" : "",
			"char-2" : "",
			"dec-1" : 0,
			"dec-2" : 0,
			"int-1" : 0,
			"int-2" : 0,
			"log-1" : false,
			"log-2" : false,
			"data-1" : null,
			"data-2" : null,
			"check-sum" : "",
			"r-Rowid" : "003D056900010000574845524520282850524F47524553535F5245434944203D200000000F0008FFFB0000000000000000000000000000000729292000"
		}, {
			"cod-mensagem" : 7,
			"descricao" : "TESTE IPI TESTE DE API",
			"texto-mensag" : "TEXTO aaaaaeeeeeeeeeeeeeeeeeeeeeds   dsd   eeeeeeeeeeeeeaaaaaaaaaaafgtfrg\n\nffffffffff\n\ngfdgfdg",
			"char-1" : "Teste de char1",
			"char-2" : "",
			"dec-1" : 0,
			"dec-2" : 0,
			"int-1" : 0,
			"int-2" : 0,
			"log-1" : false,
			"log-2" : false,
			"data-1" : null,
			"data-2" : null,
			"check-sum" : "",
			"r-Rowid" : "003D056900010000574845524520282850524F47524553535F5245434944203D200000000F0008FFFB000000000000000000000000000000AA29292000"
		}, {
			"cod-mensagem" : 8,
			"descricao" : "ATIVO/ EMPRESTIMO",
			"texto-mensag" : "ICMS - NAO INCIDENCIA ART 7 IX  DORICMS-DEC. 45.490/2000.\n",
			"char-1" : "",
			"char-2" : "",
			"dec-1" : 0,
			"dec-2" : 0,
			"int-1" : 0,
			"int-2" : 0,
			"log-1" : false,
			"log-2" : false,
			"data-1" : null,
			"data-2" : null,
			"check-sum" : "",
			"r-Rowid" : "003D056900010000574845524520282850524F47524553535F5245434944203D200000000F0008FFFB0000000000000000000000000000000829292000"
		}, {
			"cod-mensagem" : 9,
			"descricao" : "IPI",
			"texto-mensag" : "* IPI - ALIQUTA 5%  DECRETO 4542/02\n* TRANSPORTE DE CARGA PROPRIA.",
			"char-1" : "",
			"char-2" : "",
			"dec-1" : 0,
			"dec-2" : 0,
			"int-1" : 0,
			"int-2" : 0,
			"log-1" : false,
			"log-2" : false,
			"data-1" : null,
			"data-2" : null,
			"check-sum" : "",
			"r-Rowid" : "003D056900010000574845524520282850524F47524553535F5245434944203D200000000F0008FFFB0000000000000000000000000000000929292000"
		}
	]
}

 

A URL de busca de um registro da tabela com a chave de valor 1 é http://localhost:8080/datasul-rest/resources/dbo/adbo/boad176na/1 usando o metodo HTTP GET irá retornar o seguinte resultado:

Bloco de código
languagejs
firstline1
titleResultado do metodo get
linenumberstrue
collapsetrue
{
	"messages" : [],
	"length" : 0,
	"data" : {
		"cod-mensagem" : 1,
		"descricao" : "IPI-TRIBUTADO 5%",
		"texto-mensag" : "* IPI - ALIQUOTA 5%  DECRETO 4542/02\n* TRANSPORTE DE CARGA PROPRIA.",
		"char-1" : "",
		"char-2" : "",
		"dec-1" : 0,
		"dec-2" : 0,
		"int-1" : 0,
		"int-2" : 0,
		"log-1" : false,
		"log-2" : false,
		"data-1" : null,
		"data-2" : null,
		"check-sum" : "",
		"r-Rowid" : "003D056900010000574845524520282850524F47524553535F5245434944203D200000000F0008FFFB0000000000000000000000000000000229292000"
	}
}

 

A URL de criar um registro da tabela http://localhost:8080/datasul-rest/resources/dbo/adbo/boad176na usando o metodo HTTP POST, no Payload da requisição deverá ser enviado um objeto JSON com o conteudo dos campos que serão gravados no novo registro na tabela.

Bloco de código
languagejs
firstline1
titlePayload para o metodo create
linenumberstrue
collapsetrue
{
	"cod-mensagem" : 123,
	"descricao" : "MENSAGEM 123",
	"texto-mensag" : "TEXTO DA MENSAGEM 123"
}

O resultado do create com sucesso será:

Bloco de código
languagejs
firstline1
titleResultado do metodo create
linenumberstrue
collapsetrue
{
"messages": [],
"length": null,
"data": null
}

 

A URL de alterar um registro da tabela http://localhost:8080/datasul-rest/resources/dbo/adbo/boad176na/123 usando o metodo HTTP PUT, no Payload da requisição deverá ser enviado um objeto JSON com o conteudo dos campos atualizados que serão gravados no novo registro na tabela.

Bloco de código
languagejs
firstline1
titlePayload para o metodo update
linenumberstrue
collapsetrue
{
	"texto-mensag" : "TEXTO DA MENSAGEM 123 com alteração"
}

O resultado do update com sucesso será:

Bloco de código
languagejs
firstline1
titleResultado do metodo update
linenumberstrue
collapsetrue
{
"messages": [],
"length": null,
"data": null
}

 

A URL de eliminar um registro da tabela http://localhost:8080/datasul-rest/resources/dbo/adbo/boad176na/123 usando o metodo HTTP DELETE, o resultad da operação com sucesso é:

O resultado do update com sucesso será:

Bloco de código
languagejs
firstline1
titleResultado do metodo delete
linenumberstrue
collapsetrue
{
"messages": [],
"length": null,
"data": null
}

 

O proximo passo da criação do CRUD, apos o serviço REST estando OK é definir a estrutura do CRUD.