├── .gitignore
├── .mvn
└── wrapper
│ ├── maven-wrapper.jar
│ └── maven-wrapper.properties
├── README.md
├── client-service
├── pom.xml
└── src
│ └── main
│ ├── java
│ └── com
│ │ └── devproblems
│ │ └── grpc
│ │ └── client
│ │ ├── ClientApplication.java
│ │ ├── controller
│ │ └── BookAuthorController.java
│ │ └── service
│ │ └── BookAuthorClientService.java
│ └── resources
│ └── application.yml
├── grpc-service
├── pom.xml
└── src
│ └── main
│ ├── java
│ └── com
│ │ └── devproblems
│ │ └── grpc
│ │ └── server
│ │ ├── BookAuthorServerService.java
│ │ └── GrpcApplication.java
│ └── resources
│ └── application.yml
├── mvnw
├── mvnw.cmd
├── pom.xml
└── proto
├── pom.xml
└── src
└── main
├── java
└── com
│ └── devproblems
│ └── TempDB.java
└── proto
└── schema.proto
/.gitignore:
--------------------------------------------------------------------------------
1 | HELP.md
2 | target/
3 | !.mvn/wrapper/maven-wrapper.jar
4 | !**/src/main/**/target/
5 | /client-service/target/
6 | /grpc-service/target/
7 | /proto/target/
8 | !**/src/test/**/target/
9 |
10 | ### STS ###
11 | .apt_generated
12 | .classpath
13 | .factorypath
14 | .project
15 | .settings
16 | .springBeans
17 | .sts4-cache
18 |
19 | ### IntelliJ IDEA ###
20 | .idea
21 | *.iws
22 | *.iml
23 | *.ipr
24 |
25 | ### NetBeans ###
26 | /nbproject/private/
27 | /nbbuild/
28 | /dist/
29 | /nbdist/
30 | /.nb-gradle/
31 | build/
32 | !**/src/main/**/build/
33 | !**/src/test/**/build/
34 |
35 | ### VS Code ###
36 | .vscode/
37 |
--------------------------------------------------------------------------------
/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevProblems/grpc-with-springboot/d8fa3dc75c2e0c38a5773a421ba76eaf98b60f25/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.3/apache-maven-3.8.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # grpc-with-springboot
2 |
3 | # Youtube Video Link: https://youtu.be/zCXN4wj0uPo
4 |
--------------------------------------------------------------------------------
/client-service/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | org.springframework.boot
7 | spring-boot-starter-parent
8 | 2.6.2
9 |
10 |
11 | 4.0.0
12 |
13 | client-service
14 |
15 |
16 |
17 | A Sarang Kumar Tak
18 | sarangdevproblems@gmail.com
19 | hhttps://www.linkedin.com/in/sarang-kumar-tak-1454ba111/
20 | Youtube
21 | https://www.youtube.com/channel/UCVno4tMHEXietE3aUTodaZQ
22 |
23 |
24 |
25 |
26 | UTF-8
27 | 1.8
28 | 1.8
29 |
30 |
31 |
32 |
33 | org.springframework.boot
34 | spring-boot-starter-web
35 |
36 |
37 | com.sarang.devproblems
38 | proto
39 | 0.0.1-SNAPSHOT
40 |
41 |
42 | net.devh
43 | grpc-client-spring-boot-starter
44 | 2.9.0.RELEASE
45 |
46 |
47 | org.projectlombok
48 | lombok
49 | true
50 |
51 |
52 |
53 |
54 |
55 |
56 | org.springframework.boot
57 | spring-boot-maven-plugin
58 |
59 |
60 |
61 | org.projectlombok
62 | lombok
63 |
64 |
65 |
66 |
67 |
68 |
69 |
--------------------------------------------------------------------------------
/client-service/src/main/java/com/devproblems/grpc/client/ClientApplication.java:
--------------------------------------------------------------------------------
1 | package com.devproblems.grpc.client;
2 |
3 | import org.springframework.boot.SpringApplication;
4 | import org.springframework.boot.autoconfigure.SpringBootApplication;
5 |
6 | /**
7 | * @author Dev Problems(A Sarang Kumar Tak)
8 | * @YoutubeChannel https://www.youtube.com/channel/UCVno4tMHEXietE3aUTodaZQ
9 | */
10 | @SpringBootApplication
11 | public class ClientApplication {
12 | public static void main(String[] args) {
13 | SpringApplication.run(ClientApplication.class, args);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/client-service/src/main/java/com/devproblems/grpc/client/controller/BookAuthorController.java:
--------------------------------------------------------------------------------
1 | package com.devproblems.grpc.client.controller;
2 |
3 | import com.devproblems.grpc.client.service.BookAuthorClientService;
4 | import com.google.protobuf.Descriptors;
5 | import lombok.AllArgsConstructor;
6 | import org.springframework.web.bind.annotation.GetMapping;
7 | import org.springframework.web.bind.annotation.PathVariable;
8 | import org.springframework.web.bind.annotation.RestController;
9 |
10 | import java.util.List;
11 | import java.util.Map;
12 |
13 | /**
14 | * @author Dev Problems(A Sarang Kumar Tak)
15 | * @YoutubeChannel https://www.youtube.com/channel/UCVno4tMHEXietE3aUTodaZQ
16 | */
17 | @RestController
18 | @AllArgsConstructor
19 | public class BookAuthorController {
20 |
21 | final BookAuthorClientService bookAuthorClientService;
22 |
23 | @GetMapping("/author/{id}")
24 | public Map getAuthor(@PathVariable String id) {
25 | return bookAuthorClientService.getAuthor(Integer.parseInt(id));
26 | }
27 |
28 | @GetMapping("/book/{author_id}")
29 | public List