akka Uri.Path未在scala中解析/

fnatzsnv  于 2022-12-13  发布在  Scala
关注(0)|答案(1)|浏览(138)

我有一个filePath,我试图从一个字符串中提取它。字符串看起来像:

val myPath: String = "InitialIndexValue/this/is/some/kind/of/path"
val firstIndex = myPath.indexOd('/')
val extractedPath = myPath.substring(firstIndex)
//I am creating a Uri path
val uriPath = Uri.Path./(extractedPath)

这将返回%2F以替换所有“/”。URI路径将返回%2Fthis%2Fis%2Fsome%2Fkind%2Fof%2Fpath。导入为:

import akka.http.scaladsl.model.Uri
import java.nio.file.Path

我的问题是:为什么Uri.Path将“/”替换为“%2F”?是否有其他方法可以处理此问题?TIA

lztngnrs

lztngnrs1#

URI上的方法/。Path是用来将路径区段串连成一个路径。/的参数是一个区段(例如,“this”、“is”或“some”),而不是整个路径。当区段包含特殊字符时,它们会进行URL编码,例如,字符'/'会变成"%2F",而空格会变成"%20"
您可能需要使用Uri.Pathapply方法,该方法将给定字符串解析为完整路径:

val uriPath = Uri.Path(extractedPath)

相关问题