Skip to main content

SpringBoot Curd Operation Controller Class

 package com.technoidentity.agastya.controller;


import java.util.Date;

import java.util.ArrayList;

import java.util.List;

import java.util.Optional;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.http.HttpStatus;

import org.springframework.http.ResponseEntity;

import org.springframework.transaction.annotation.Transactional;

import org.springframework.web.bind.annotation.CrossOrigin;

import org.springframework.web.bind.annotation.DeleteMapping;

import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.bind.annotation.PathVariable;

import org.springframework.web.bind.annotation.PostMapping;

import org.springframework.web.bind.annotation.PutMapping;

import org.springframework.web.bind.annotation.RequestBody;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;


import com.technoidentity.agastya.model.TelemetryEvent;

import com.technoidentity.agastya.repositery.TelemetryEventRepository;


@CrossOrigin(origins = "http://localhost:3000")

@RestController

@RequestMapping("/agastya")

public class TelemetryEventController {


@Autowired

private TelemetryEventRepository repositery;


// Display All TelemetryEvent Object

@GetMapping("/telemetry")

public ResponseEntity<List<TelemetryEvent>> getAllTelemetryEvent() {

try {

List<TelemetryEvent> telemetryEvents = new ArrayList<TelemetryEvent>();

repositery.findAll().forEach(telemetryEvents::add);

if (telemetryEvents.isEmpty()) {

return new ResponseEntity<List<TelemetryEvent>>(HttpStatus.NO_CONTENT);

}

return new ResponseEntity<List<TelemetryEvent>>(telemetryEvents, HttpStatus.OK);

} catch (Exception e) {

return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR);

}

}


// Display TelemetryEvent based on the Id

@GetMapping("/telemetry/{id}")

@Transactional(readOnly = true)

public ResponseEntity<TelemetryEvent> getTelemetryEventById(@PathVariable("id") String deviceId) {

Optional<TelemetryEvent> telemetryevent = repositery.findById(deviceId);


if (telemetryevent.isPresent()) {

return new ResponseEntity<TelemetryEvent>(telemetryevent.get(), HttpStatus.OK);


} else {

return new ResponseEntity<>(HttpStatus.NOT_FOUND);

}

}


// Update command

@PutMapping("/telemetry/{id}")

public ResponseEntity<TelemetryEvent> updateTelemetryEvent(@PathVariable("id") String deviceId,

@RequestBody TelemetryEvent telemetryevent) {

java.util.Optional<TelemetryEvent> telemetryevent1 = repositery.findById(deviceId);

          Date d=new Date();

if (telemetryevent1.isPresent()) {

TelemetryEvent _tutorial = telemetryevent1.get();

_tutorial.setDeviceId(telemetryevent.getDeviceId());

_tutorial.setTimestamp(d);

_tutorial.setTelemetryKey(telemetryevent.getTelemetryKey());

_tutorial.setTelemetryValue(telemetryevent.getTelemetryValue());

return new ResponseEntity<>(repositery.save(_tutorial), HttpStatus.OK);

} else {

return new ResponseEntity<>(HttpStatus.NOT_FOUND);

}


}


// delete by ID

@DeleteMapping("/telemetry/{id}")

public ResponseEntity<String> deleteTelemetryEvent(@PathVariable("id") String deviceId) {

try {

repositery.deleteById(deviceId);

return new ResponseEntity<String>(deviceId + " Is Deleted.?", HttpStatus.OK);

} catch (Exception e) {

return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);

}

}


/* delete all

@DeleteMapping("/telemetry")

public ResponseEntity<String> deleteAllTelemetryEvent() {

try {

repositery.deleteAll();

return new ResponseEntity<String>("Deleted All record", HttpStatus.OK);

} catch (Exception e) {

return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);

}

}*/


// insert TelemetryEvent Data

@PostMapping("/telemetry")

public ResponseEntity<?> createTelemetryEvent(@RequestBody TelemetryEvent telemetryEvent) {

try {

Date d=new Date();

repositery.save(new TelemetryEvent(telemetryEvent.getDeviceId(),d ,

telemetryEvent.getTelemetryKey(), telemetryEvent.getTelemetryValue()));

return new ResponseEntity<String>("TelemetryEvent Data is inserted", HttpStatus.OK);

} catch (Exception e) {

return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR);

}

}


}


Comments

Popular posts from this blog

Spring Boot With MySQL Database connection with Examples | MySQl Database Configuration with Spring Boot Projects

 ðŸ˜ƒ MySQL Database Configuration with Spring Boot Projects  In this article, we are going to introduce How to connect MySQL Database with the Spring Boot project. pom.xml   org.springframework.boot spring-boot-starter-data-jpa org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-devtools runtime true mysql mysql-connector-java runtime org.projectlombok lombok true    application. properties   server.port=8025 spring.datasource.url=jdbc:mysql://localhost:3306/princedb spring.datasource.username=root spring.datasource.password=root spring.jpa.hibernate.ddl-auto=create-drop MySqlWithSpringBootApplication.java   package com.app; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class MySqlWithSpringBootApp...

How can we create Auto generated field or ID for mongodb using spring boot

😂 How can we create an Auto-generated field or ID for MongoDB using spring boot? First Create One Application Like Mongodb_sequence-id-generator Pom.XML org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-data-mongodb de.flapdoodle.embed de.flapdoodle.embed.mongo User.java package com.app; import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Transient; import org.springframework.data.mongodb.core.mapping.Document; @Document(collection = "users_db") public class User { @Transient public static final String SEQUENCE_NAME = "users_sequence"; @Id private long id; private String firstName; private String lastName; private String email; public User() { } public User(String firstName, String lastName, String email) { this.firstName = firstName; this.lastName = la...

Generate Documentation for Spring Boot API with swagger and Open API 3

 ðŸ˜‚ How to Generate Documentation for Spring Boot API project Make sure your Project having a swagger or open API 3 Dependency then only you get proper Documentation for your Service. ---------------------------------------------------------------------------- Every method or API above you have to Write Like that then only you get proper Documentation If you do everything in your Application and Run your Application and go to browse and search. . http://localhost:8080/v3/api-docs/ if you want to learn more go with this one.  Open API-3   1. For Return List of Object then you have to use this API operation  @Operation(summary = "This will fetch List of Patient Detailas base on Hospital Name") @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Successfully fetch All Patient Details from Database ", content = {  @Content(mediaType = "application/json" ,array = @ArraySchema(schema =@Schema(implementation =PatientDe...