Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
ecommerce-maven
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ascend
ecommerce-maven
Commits
486ee59b
Commit
486ee59b
authored
May 11, 2021
by
Kyle Muldoon
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'swagger-ui' into 'master'
Swagger ui See merge request
!8
parents
659a0802
324bd028
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
105 additions
and
17 deletions
+105
-17
pom.xml
ecom-service/pom.xml
+12
-0
SwaggerConfig.java
...main/java/com/nisum/ecomservice/config/SwaggerConfig.java
+39
-0
WebFluxConfig.java
...main/java/com/nisum/ecomservice/config/WebFluxConfig.java
+23
-0
CartPostDTO.java
.../src/main/java/com/nisum/ecomservice/dto/CartPostDTO.java
+19
-0
OrderRequest.java
...src/main/java/com/nisum/ecomservice/dto/OrderRequest.java
+3
-2
Address.java
...ce/src/main/java/com/nisum/ecomservice/model/Address.java
+2
-4
ProductRef.java
...src/main/java/com/nisum/ecomservice/model/ProductRef.java
+2
-4
User.java
...rvice/src/main/java/com/nisum/ecomservice/model/User.java
+1
-0
OrderService.java
...main/java/com/nisum/ecomservice/service/OrderService.java
+4
-7
No files found.
ecom-service/pom.xml
View file @
486ee59b
...
...
@@ -41,6 +41,18 @@
<artifactId>
reactor-test
</artifactId>
<scope>
test
</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
<groupId>
io.springfox
</groupId>
<artifactId>
springfox-swagger-ui
</artifactId>
<version>
3.0.0
</version>
</dependency>
<dependency>
<groupId>
io.springfox
</groupId>
<artifactId>
springfox-boot-starter
</artifactId>
<version>
3.0.0
</version>
</dependency>
</dependencies>
<build>
...
...
ecom-service/src/main/java/com/nisum/ecomservice/config/SwaggerConfig.java
0 → 100644
View file @
486ee59b
package
com
.
nisum
.
ecomservice
.
config
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
springfox.documentation.builders.ApiInfoBuilder
;
import
springfox.documentation.builders.PathSelectors
;
import
springfox.documentation.builders.RequestHandlerSelectors
;
import
springfox.documentation.service.ApiInfo
;
import
springfox.documentation.spi.DocumentationType
;
import
springfox.documentation.spring.web.plugins.Docket
;
import
springfox.documentation.swagger2.annotations.EnableSwagger2
;
@Configuration
@EnableSwagger2
public
class
SwaggerConfig
{
ApiInfo
apiInfo
()
{
return
new
ApiInfoBuilder
()
.
title
(
"Ecommerce Microservice"
)
.
build
();
}
@Bean
public
Docket
api
()
{
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
useDefaultResponseMessages
(
false
)
.
select
()
.
apis
(
RequestHandlerSelectors
.
any
())
.
paths
(
PathSelectors
.
any
())
.
build
()
.
apiInfo
(
apiInfo
());
}
}
ecom-service/src/main/java/com/nisum/ecomservice/config/WebFluxConfig.java
0 → 100644
View file @
486ee59b
package
com
.
nisum
.
ecomservice
.
config
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.web.reactive.config.EnableWebFlux
;
import
org.springframework.web.reactive.config.ResourceHandlerRegistry
;
import
org.springframework.web.reactive.config.WebFluxConfigurer
;
@Configuration
@EnableWebFlux
public
class
WebFluxConfig
implements
WebFluxConfigurer
{
@Override
public
void
addResourceHandlers
(
ResourceHandlerRegistry
registry
)
{
registry
.
addResourceHandler
(
"/swagger-ui.html**"
)
.
addResourceLocations
(
"classpath:/META-INF/resources/"
);
registry
.
addResourceHandler
(
"/webjars/**"
)
.
addResourceLocations
(
"classpath:/META-INF/resources/webjars/"
);
}
}
\ No newline at end of file
ecom-service/src/main/java/com/nisum/ecomservice/dto/CartPostDTO.java
0 → 100644
View file @
486ee59b
package
com
.
nisum
.
ecomservice
.
dto
;
//needed for post route, do not delete / change names
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
java.util.List
;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public
class
CartPostDTO
{
private
String
id
;
private
String
userId
;
private
List
<
CartItemDTO
>
cartItems
;
}
ecom-service/src/main/java/com/nisum/ecomservice/dto/OrderRequest.java
View file @
486ee59b
package
com
.
nisum
.
ecomservice
.
dto
;
import
com.nisum.ecomservice.model.Address
;
import
com.nisum.ecomservice.model.CartEntity
;
import
com.nisum.ecomservice.model.User
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public
class
OrderRequest
{
private
User
user
;
private
Address
address
;
private
Cart
Entity
cartEntity
;
private
Cart
PostDTO
cart
;
}
ecom-service/src/main/java/com/nisum/ecomservice/model/Address.java
View file @
486ee59b
package
com
.
nisum
.
ecomservice
.
model
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.ToString
;
import
lombok.*
;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@ToString
public
class
Address
{
...
...
ecom-service/src/main/java/com/nisum/ecomservice/model/ProductRef.java
View file @
486ee59b
package
com
.
nisum
.
ecomservice
.
model
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.ToString
;
import
lombok.*
;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@ToString
public
class
ProductRef
{
private
String
id
;
...
...
ecom-service/src/main/java/com/nisum/ecomservice/model/User.java
View file @
486ee59b
...
...
@@ -9,6 +9,7 @@ import org.springframework.data.mongodb.core.mapping.Document;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@ToString
public
class
User
{
...
...
ecom-service/src/main/java/com/nisum/ecomservice/service/OrderService.java
View file @
486ee59b
package
com
.
nisum
.
ecomservice
.
service
;
import
com.nisum.ecomservice.config.AppConfig
;
import
com.nisum.ecomservice.dto.Order
;
import
com.nisum.ecomservice.dto.OrderItem
;
import
com.nisum.ecomservice.dto.OrderRequest
;
import
com.nisum.ecomservice.dto.OrderSubmission
;
import
com.nisum.ecomservice.dto.*
;
import
com.nisum.ecomservice.model.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -26,10 +23,10 @@ public class OrderService {
//create user object from user object details
User
user
=
orderRequest
.
getUser
();
Address
address
=
orderRequest
.
getAddress
();
Cart
Entity
cartEntity
=
orderRequest
.
getCartEntity
();
Cart
PostDTO
cart
=
orderRequest
.
getCart
();
//for each item grab product details from products API
List
<
Mono
<
Product
>>
productsToOrder
=
cart
Entity
.
getCartItems
().
stream
()
List
<
Mono
<
Product
>>
productsToOrder
=
cart
.
getCartItems
().
stream
()
.
map
(
cartItem
->
cartItem
.
getProductRef
().
getSku
())
.
map
(
sku
->
productService
.
getProductBySku
(
sku
))
...
...
@@ -44,7 +41,7 @@ public class OrderService {
orderItem
.
setItemSku
(
product
.
getSku
());
orderItem
.
setItemPrice
(
product
.
getPrice
());
List
<
CartItem
Entity
>
items
=
cartEntity
.
getCartItems
().
stream
().
filter
(
cartItem
->
cartItem
.
getProductRef
().
getSku
()
List
<
CartItem
DTO
>
items
=
cart
.
getCartItems
().
stream
().
filter
(
cartItem
->
cartItem
.
getProductRef
().
getSku
()
.
equals
(
product
.
getSku
()))
.
collect
(
Collectors
.
toList
());
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment