我正在尝试在 Spring Boot 中构建一个休息服务来更新我的数据库..
@RequestMapping(value = "/setrepacking/{transaction_number}/{image_url}", method = RequestMethod.GET)
public String setRepackingDetails(@PathVariable String transaction_number,
@PathVariable String image_url) {
dao.setRepackingDetails(transaction_number, image_url);
return "Updated repacking details for "+transaction_number;
}
但是我的 image_url 如下所示:我想将下面作为其余组件的一部分传递
我正在尝试如下所示:
`www.localhost:8080/setrepacking/3500574684/http://thecatapi.com/api/images`/get?format=src&type=png
不接受...
如何在浏览器中传递参数??
应用任何快速解决方案......
您必须先对图像 URL 路径变量进行 URL 编码,然后再将其传递到请求中,编码后的 URL 如下所示:
http%3A%2F%2Fxxxx.com%2Fapi%2Fimages%2Fget%3Fformat%3Dsrc%26type%3Dpng
所以你的请求必须是这样的:
这样您就可以正确获取图片 URL。另请查看 URLEncoder 和 URLDecoder
您使用 transactionNumber 和 imageUrl 属性创建一个新类或记录:
@AllArgsConstructor
public class PackingDetail {
private final String transactionNumber;
private final String imageUrl;
}
然后是一个 PUT 请求,您可以将此对象作为请求正文发送:
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@PutMapping("/api/repackings")
public void repacking(@RequestBody PackingDetail packingDetail) {
yourService.repacking(packingDetail);
}