gpt4 book ai didi

java - 在这个 Spring Boot\MVC Controller 中处理 REST 样式映射的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-02 03:08:09 26 4
gpt4 key购买 nike

我正在开发一个实现 REST Web 服务的 Spring Boot 应用程序。

因此,我对必须用于处理数据库中项目插入的 URL 有以下疑问。

所以基本上我有这个 Controller 类:

@RestController
@RequestMapping("/AccomodationMedia")
public class AccomodationMediaController {

..............................................................
..............................................................
..............................................................

@RequestMapping(value = "/doUpload", method = RequestMethod.POST)
public String handleFileUpload(HttpServletRequest request,
@RequestParam MultipartFile[] fileUpload) throws Exception {

System.out.println("handleFileUpload() START");
if (fileUpload != null && fileUpload.length > 0) {
for (MultipartFile currentFile : fileUpload){

System.out.println("Saving file: " + currentFile.getOriginalFilename());

accomodationMediaService.saveAccomodationMedia(currentFile);

}
}

return "Success";
}

}

因此,此类包含 handleFileUpload() 方法,用于处理针对 URI:/AccomodationMedia/doUploadPOST Http 请求,以上传文件文件。

此 URI 不是休息风格,因为它包含一个操作,在这种情况下我必须将其作为资源处理。

我的疑问是:我认为要插入新的 AccomodationMedia 资源,我只需要将 POST 请求发送到 /AccomodationMedia URI,因为我正在数据库中插入一个新的 AccountMedia 资源。正确吗?

最佳答案

是的,您是对的,Rest 应用程序中的每个资源都应该至少有一个 URI 来标识它。最好该 URI 有意义并充分描述资源,例如:-

要在系统中插入(创建)新客户,我们可以使用:发布http://www.example.com/customers

要读取客户 ID# 33245 的客户:获取http://www.example.com/customers/33245相同的 URI 将用于 PUT 和 DELETE,分别用于更新和删除。

关于java - 在这个 Spring Boot\MVC Controller 中处理 REST 样式映射的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41441571/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com