Spring 用于使用请求对象更新模型的适当层/对象
使用Sprint,我有一个具有以下标题的端点:Spring 用于使用请求对象更新模型的适当层/对象,spring,spring-mvc,architecture,Spring,Spring Mvc,Architecture,使用Sprint,我有一个具有以下标题的端点: @PutMapping("/{productId}") Product updateProduct(@Valid @RequestBody ProductRequest productRequest) { .... 我应该在哪里将字段从ProductRequest复制到现有产品?在服役?为此使用map类?使用产品工厂?在其他地方?根据我的意见,我们应该使用Rest/Mvc控制器层来实现以下功能: 1参数验证 2将传入参数ProductReques
@PutMapping("/{productId}")
Product updateProduct(@Valid @RequestBody ProductRequest productRequest) { ....
我应该在哪里将字段从ProductRequest复制到现有产品?在服役?为此使用map类?使用产品工厂?在其他地方?根据我的意见,我们应该使用Rest/Mvc控制器层来实现以下功能: 1参数验证 2将传入参数ProductRequest映射到服务模型产品 3具有服务模型的呼叫服务 4返回结果或错误 因此,在您的情况下,您应该将ProductRequest映射到Product,并将Product路径映射到服务。您可以在本文中找到一个经典示例: 此外,经验法则是使控制器层尽可能薄
@RequestMapping(value = "/{id}", method = RequestMethod.PUT)
@ResponseStatus(HttpStatus.OK)
public void updatePost(@RequestBody PostDto postDto) {
Post post = convertToEntity(postDto);
postService.updatePost(post);
}