java 从Spring PostMapping中的不同路径获取表单数据

p8h8hvxi  于 2022-12-10  发布在  Java
关注(0)|答案(2)|浏览(328)

我有一个API控制器:

@RestController
@RequestMapping("api")
public class ListingRestController {
    @PostMapping("/listings/edit/{id}")
    public void editListing(ListingForm newListing, @PathVariable Integer id, Model model) {
        ListingDto newListingDto = new ListingDto(newListing.getId(), newListing.getUserId(), newListing.getTitle());
        model.addAttribute("submitURL", String.format("edit/%s", id));
        listingService.deleteListingById(id);
        listingService.addListing(newListingDto);
    }
}

它接受来自api/listings/edit/{id}的POST请求。它还应该从表单输入ListingForm newListing获取数据。
问题是,表单是在一个路径listings/edit/{id}中定义的,所以控制器方法无法获取数据。

6vl6ewon

6vl6ewon1#

必须在Api Post旁边定义GET API才能获取数据,首先客户端调用API GET从服务器获取数据并将数据放到表单中,编辑完数据后调用API POST将数据发布到服务器。

nzkunb0c

nzkunb0c2#

您可以将@RequestBody注解写入ListeningForm参数

相关问题