我有一个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}
中定义的,所以控制器方法无法获取数据。
2条答案
按热度按时间6vl6ewon1#
必须在Api Post旁边定义GET API才能获取数据,首先客户端调用API GET从服务器获取数据并将数据放到表单中,编辑完数据后调用API POST将数据发布到服务器。
nzkunb0c2#
您可以将@RequestBody注解写入ListeningForm参数