-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
9d6ae1d
commit 06ae88b
Showing
15 changed files
with
76 additions
and
87 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,39 +1,18 @@ | ||
package com; | ||
import org.springframework.beans.factory.annotation.Autowired; | ||
|
||
import org.springframework.boot.CommandLineRunner; | ||
import org.springframework.boot.SpringApplication; | ||
import org.springframework.boot.autoconfigure.SpringBootApplication; | ||
import org.springframework.stereotype.Component; | ||
|
||
import com.document.Student; | ||
import com.repository.StudentRepository; | ||
|
||
import reactor.core.publisher.Flux; | ||
|
||
@SpringBootApplication | ||
public class SpringBootWebApplication implements CommandLineRunner { | ||
|
||
@Autowired | ||
StudentRepository personRepository; | ||
|
||
public static void main(String[] args) { | ||
SpringApplication.run(SpringBootWebApplication.class, args); | ||
} | ||
|
||
@Override | ||
public void run(String... arg0) throws Exception { | ||
|
||
//personRepository.save(new Student(5,"hgRT","mittal",21,"manushikapoor@gmail.com","C")); | ||
final Student johnAoe = new Student(3,"manushi","chillar",21,"manushikapoor@gmail.com","CS"); | ||
final Student varini = new Student(5,"hgRT","mittal",21,"manushikapoor@gmail.com","C"); | ||
//// //MongoCollection<Document> gradesCollection = Student.getCollection("student | ||
|
||
|
||
personRepository.saveAll(Flux.just(johnAoe, varini)).subscribe(); | ||
//// //personRepository.insert(personRepository); | ||
//// //personRepository.findByDepartment("CS").log().map(Student::getFirstname).subscribe(System.out::println); | ||
personRepository.findAll().log().map(Student::getFirstname).subscribe(System.out::println); | ||
// | ||
|
||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
package com.connection; | ||
|
||
import org.springframework.context.annotation.Bean; | ||
import org.springframework.context.annotation.Configuration; | ||
|
||
import springfox.documentation.builders.PathSelectors; | ||
import springfox.documentation.builders.RequestHandlerSelectors; | ||
import springfox.documentation.spi.DocumentationType; | ||
import springfox.documentation.spring.web.plugins.Docket; | ||
import springfox.documentation.swagger2.annotations.EnableSwagger2; | ||
|
||
@Configuration | ||
@EnableSwagger2 | ||
public class SpringFoxConfig { | ||
@Bean | ||
public Docket api() { | ||
return new Docket(DocumentationType.SWAGGER_2) | ||
.select() | ||
.apis(RequestHandlerSelectors.any()) | ||
.paths(PathSelectors.any()) | ||
.build(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,49 +1,61 @@ | ||
package com.controller; | ||
|
||
import java.time.Duration; | ||
import java.util.List; | ||
|
||
import org.springframework.beans.factory.annotation.Autowired; | ||
import org.springframework.http.ResponseEntity; | ||
import org.springframework.http.MediaType; | ||
import org.springframework.web.bind.annotation.GetMapping; | ||
import org.springframework.web.bind.annotation.PathVariable; | ||
import org.springframework.web.bind.annotation.PutMapping; | ||
import org.springframework.web.bind.annotation.PostMapping; | ||
import org.springframework.web.bind.annotation.RequestBody; | ||
import org.springframework.web.bind.annotation.RequestMapping; | ||
import org.springframework.web.bind.annotation.RequestParam; | ||
import org.springframework.web.bind.annotation.RestController; | ||
|
||
import com.repository.StudentRepository; | ||
|
||
import io.swagger.annotations.Api; | ||
import reactor.core.publisher.Flux; | ||
import reactor.core.publisher.Mono; | ||
|
||
import com.document.Student; | ||
|
||
@RestController | ||
//@RequestMapping("/student"); | ||
@Api(value="Students", description="Operations for students of Universities.") | ||
public class ApplicationController { | ||
|
||
@Autowired | ||
StudentRepository repository; | ||
|
||
@PutMapping("/student/{id}/{firstname}/{lastname}/{age}/{email}/{department}") | ||
public Mono<Student> save(@PathVariable("id") final int id,@PathVariable("firstname") final String firstname,@PathVariable("lastname") final String lastname,@PathVariable("age") final int age,@PathVariable("email") final String email,@PathVariable("department") final String department){ | ||
@PostMapping("/student/saveOne") | ||
public Mono<Student> saveOne(@RequestParam(value="id") int id,@RequestParam(value="firstName") String firstname,@RequestParam(value="lastName") String lastname,@RequestParam(value="age") int age,@RequestParam(value="email") String email,@RequestParam(value="department") String department){ | ||
Student student=new Student(id,firstname,lastname,age,email,department); | ||
System.out.println("::Saving a Student::"); | ||
return repository.save(student); | ||
} | ||
|
||
@GetMapping("/student/{id}") | ||
public Mono<Student> getById(@PathVariable("id") final int id) { | ||
@GetMapping("/student/id/{id}") | ||
public Mono<Student> getOneById(@PathVariable("id") final int id) { | ||
System.out.println("::Will Return a Student::"); | ||
return repository.findOneBy_id(id); | ||
} | ||
|
||
@GetMapping("/student/all") | ||
public Flux<Student> showAll() { | ||
repository.findAll().log().map(Student::getFirstname).subscribe(System.out::println); | ||
return repository.findAll(); | ||
@GetMapping(value="/student/showall",produces = MediaType.TEXT_EVENT_STREAM_VALUE) | ||
public Flux<Student> getByTailing(){ | ||
System.out.println("::Will Return All the Students in real time::"); | ||
return repository.findWithTailableCursorBy().delayElements(Duration.ofSeconds(1)); | ||
} | ||
|
||
@GetMapping("/student") | ||
public Flux<Student> showByDepartment(@RequestParam(value="department") String department) { | ||
repository.findByDepartment(department).log().map(Student::getFirstname).subscribe(System.out::println); | ||
@GetMapping("/student/department/{department}") | ||
public Flux<Student> getByDepartment(@PathVariable("department") final String department) { | ||
System.out.println("::Will Return Students filtered by department::"); | ||
return repository.findByDepartment(department); | ||
} | ||
|
||
@PostMapping("/student/saveMany") | ||
Flux<Student> saveMany(@RequestBody() final List<Student> student){ | ||
System.out.println("::Will Save Multiple Students::"); | ||
return repository.saveAll(student); | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,2 @@ | ||
#mongo.database=student | ||
#mongo.host=127.0.0.1 | ||
#mongo.port=27017 | ||
#spring.main.allow-bean-definition-overriding=true | ||
#spring.data.mongodb.database=student | ||
#spring.data.mongodb.port=27017 | ||
#spring.data.mongodb.host=localhost | ||
spring.data.mongodb.uri=mongodb://localhost:27017/student | ||
spring.data.mongodb.uri=mongodb://localhost:27017/student | ||
spring.mvc.async.request-timeout = -1 |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,2 @@ | ||
#mongo.database=student | ||
#mongo.host=127.0.0.1 | ||
#mongo.port=27017 | ||
#spring.main.allow-bean-definition-overriding=true | ||
#spring.data.mongodb.database=student | ||
#spring.data.mongodb.port=27017 | ||
#spring.data.mongodb.host=localhost | ||
spring.data.mongodb.uri=mongodb://localhost:27017/student | ||
spring.data.mongodb.uri=mongodb://localhost:27017/student | ||
spring.mvc.async.request-timeout = -1 |