小编Nah*_*ani的帖子

是否应该使用实体类作为请求主体

假设我必须保存一个实体,在本例中为 Book。我有下一个代码:

@RestController
@RequestMapping("books")
public class BookController {
    
    @Inject
    BookRepository bookRepository;
    
    @PostMapping
    public Book saveBook(@RequestBody Book book) {
        return bookRepository.save(book);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的实体 Book 是一个持久性实体:

@Entity(name = "BOOK")
public class Book{

    @Id
    @Column(name = "book_id")
    private Integer id;

    @Column(name = "title")
    private String title;

    (get/sets...)
}
Run Code Online (Sandbox Code Playgroud)

问题是:在@RequestBody控制器层使用我的持久性实体是一种不好的做法吗?或者我应该创建一本书 DTO 并将其映射到服务层中的持久性类?什么更好,为什么?

java model-view-controller entity dto spring-boot

8
推荐指数
2
解决办法
4508
查看次数

如何在 WebFilter 的实现中获取路径变量?(服务器网络交换)

我在 Spring Reactive 应用程序中工作。我知道如何使用 HttpServletRequest 在拦截器中获取 PathVariable,有些类似:

request.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE); 
Run Code Online (Sandbox Code Playgroud)

但我们必须进行一些更改,现在我们有了 WebFilter 实现,因此我们不使用 HttpServletRequest,而是使用 ServerWebExchange

如何从 ServerWebExchange 获取 Pathvariable?这是可能的?

java spring reactive spring-webflux

2
推荐指数
1
解决办法
1983
查看次数