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