Primavera de Inicialização de Construção de Serviços RESTful Web

Anúncios

Primavera de Inicialização fornece um bom suporte para a construção de Serviços RESTful Web para aplicações empresariais. Este capítulo irá explicar em detalhe sobre a construção de Serviços Web RESTful usando Spring Boot.Nota: para construir um serviço Web repousante, precisamos adicionar a dependência do iniciador de Arranque De Primavera no ficheiro de configuração da compilação.,

Se você é um usuário Maven, use o seguinte código para adicionar a dependência abaixo no seu pom.ficheiro xml –

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>

Se você é um utilizador de grelhas, use o seguinte código para adicionar a dependência abaixo na sua compilação.ficheiro do gradle.

compile('org.springframework.boot:spring-boot-starter-web')

o código para o ficheiro completo de configuração da compilação Maven build – pom.o xml é indicado abaixo –

o código para a compilação completa do ficheiro de configuração do Gradle Build-build.,gradle é dado abaixo –

Antes de você continuar a construir um serviço Web repousante, sugere −se que você tenha conhecimento das seguintes anotações –

Controlador de repouso

a anotação de @RestController é usada para definir os Serviços Web RESTful. Ele serve JSON, XML e resposta personalizada. Sua sintaxe é mostrada abaixo –

@RestControllerpublic class ProductServiceController { }

mapeamento de Pedidos

a anotação de @RequestMapping é usada para definir o URI pedido para acessar os pontos finais de descanso. Podemos definir o método de pedido para consumir e produzir objeto. O método de pedido padrão é obter.,

@RequestMapping(value = "/products")public ResponseEntity<Object> getProducts() { }

Request Body

The @RequestBody annotation is used to define the request body content type.

public ResponseEntity<Object> createProduct(@RequestBody Product product) {}

variável de localização

a anotação @Pathvariável é usada para definir o URI de pedido personalizado ou dinâmico. A variável Path no pedido URI é definida como Chavetas {} como mostrado abaixo −

public ResponseEntity<Object> updateProduct(@PathVariable("id") String id) {}

Parâmetro do pedido

a anotação @Requestpara é usada para ler os parâmetros do pedido a partir do URL do pedido. Por padrão, é um parâmetro obrigatório., Também podemos definir o valor padrão para os parâmetros de solicitação como mostrado aqui –

public ResponseEntity<Object> getProduct( @RequestParam(value = "name", required = false, defaultValue = "honey") String name) {}

GET API

o método de solicitação HTTP padrão é GET. Este método não requer nenhum órgão de pedido. Você pode enviar parâmetros de pedido e variáveis de caminho para definir o URL personalizado ou dinâmico.

o código da amostra para definir o método HTTP GET request é mostrado abaixo. Neste exemplo, usamos HashMap para armazenar o produto. Note que nós usamos uma classe POJO como o produto a ser armazenado.

aqui, o URI pedido é / produtos e ele irá retornar a lista de produtos do repositório HashMap., O arquivo de classe do controlador é dado abaixo que contém GET method REST Endpoint.

POST API

the HTTP POST request is used to create a resource. Este método contém o corpo do pedido. Podemos enviar parâmetros de pedido e variáveis de caminho para definir a URL personalizada ou dinâmica.

o exemplo a seguir mostra o código de exemplo para definir o método de requisição HTTP POST. Neste exemplo, usamos HashMap para armazenar o produto, onde o produto é uma classe POJO.

aqui, o URI pedido é / produtos, e ele irá retornar a cadeia de caracteres após armazenar o produto no repositório HashMap.,

PUT API

o pedido de PUT HTTP é usado para atualizar o recurso existente. Este método contém um corpo de pedido. Podemos enviar parâmetros de pedido e variáveis de caminho para definir a URL personalizada ou dinâmica.

o exemplo abaixo mostra como definir o método de PUT HTTP. Neste exemplo, usamos HashMap para atualizar o produto existente, onde o produto é uma classe POJO.

aqui o URI pedido é /products / {id} que irá devolver o texto depois de um produto para um repositório de HashMap., Note que nós usamos a variável Path {id} que define o ID do produto que precisa ser atualizado.

apagar API

o pedido de remoção de HTTP é usado para remover o recurso existente. Este método não contém nenhum organismo de pedido. Podemos enviar parâmetros de pedido e variáveis de caminho para definir a URL personalizada ou dinâmica.

O exemplo abaixo mostra como definir o método de remoção HTTP. Neste exemplo, usamos HashMap para remover o produto existente, que é uma classe POJO.,

o URI do pedido é /products / {id} e irá devolver o texto depois de apagar o produto do repositório de HashMap. Usámos a variável Path {id} que define o ID do produto que precisa de ser apagado.

esta secção dá-lhe o conjunto completo de código-fonte. Observe os seguintes códigos para as respetivas funcionalidades −

A classe de Aplicação principal do arranque de molas – Demoaplicação.java

O produto de classe POJO.java

The Rest Controller class-ProductServiceController.,java

Você pode criar um JAR executável e executar a primavera aplicativo de inicialização usando o abaixo Maven ou Gradle comandos como mostrado −

Para o Maven, use o comando mostrado abaixo

mvn clean install

Depois de “CONSTRUIR o SUCESSO”, que você pode encontrar o arquivo JAR sob o diretório de destino.

para a Gradle, use o comando mostrado abaixo –

após” BUILD SUCCESSFUL”, poderá encontrar o ficheiro JAR sob a pasta build/libs.,

Você pode executar o arquivo JAR usando o comando mostrado abaixo

java –jar <JARFILE> 

Isto irá iniciar a aplicação no Tomcat porta 8080 como mostrado abaixo

Agora aperte o URL mostrado abaixo no CARTEIRO aplicação e ver o resultado.,

GET API URL is: http://localhost:8080/products

POST API URL is: http://localhost:8080/products

PUT API URL is: http://localhost:8080/products/3

DELETE API URL is: http://localhost:8080/products/3

Advertisements

Author: admin

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *