在 url 改造中添加动态值
Add dynamic value in url retrofit
下面有这个URL
在我的界面中
@GET("storage/presigned-url?bucketName=files&key=payment-receipt/{fileName}&httpVerb=2&contentType=image/jpeg")
suspend fun fileUploadPathCheque(@Path("fileName") name: String): Response<String>
我想用一些值替换文件名
我将函数调用为
Api.fileUploadPathCheque(UUID.randomUUID().toString().plus(".jpg"))
我得到以下异常
ava.lang.IllegalArgumentException: URL query string "bucketName=files&key=payment-receipt/{fileName}&httpVerb=2&contentType=image/jpeg" must not have replace block. For dynamic query parameters use @Query.
正确的做法是什么?
例外情况是 self-explanatory,您需要为 key
使用查询参数。像
@GET("storage/presigned-url?bucketName=files&httpVerb=2&contentType=image/jpeg")
suspend fun fileUploadPathCheque(@Query("key") name: String): Response<String>`
然后调用它附加 payment-receipt/
到您传递的参数:
Api.fileUploadPathCheque("payment-receipt/" + UUID.randomUUID().toString().plus(".jpg"))
这应该适合你。
下面有这个URL
在我的界面中
@GET("storage/presigned-url?bucketName=files&key=payment-receipt/{fileName}&httpVerb=2&contentType=image/jpeg")
suspend fun fileUploadPathCheque(@Path("fileName") name: String): Response<String>
我想用一些值替换文件名
我将函数调用为
Api.fileUploadPathCheque(UUID.randomUUID().toString().plus(".jpg"))
我得到以下异常
ava.lang.IllegalArgumentException: URL query string "bucketName=files&key=payment-receipt/{fileName}&httpVerb=2&contentType=image/jpeg" must not have replace block. For dynamic query parameters use @Query.
正确的做法是什么?
例外情况是 self-explanatory,您需要为 key
使用查询参数。像
@GET("storage/presigned-url?bucketName=files&httpVerb=2&contentType=image/jpeg")
suspend fun fileUploadPathCheque(@Query("key") name: String): Response<String>`
然后调用它附加 payment-receipt/
到您传递的参数:
Api.fileUploadPathCheque("payment-receipt/" + UUID.randomUUID().toString().plus(".jpg"))
这应该适合你。