gpt4 book ai didi

java - 我如何支持 Jersey 的本地化?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:18:20 25 4
gpt4 key购买 nike

我正在设计一个 REST API,希望将来可以本地化。

因此我将 URL 定义为以下形式

/en/<resource_url>

本着能够支撑的用意

/fr/<resource_url>

如果需要,在未来

但是我只想为每个资源 url 服务定义一次。因此,我认为在与服务匹配之前,我需要在没有 URL 的语言部分的情况下解析和重写 URL。最后,该语言应该以某种方式提供给服务,以便他们在必要时进行本地化。

我怎样才能做到这一点?

我在嵌入更大服务器进程的 Jetty 容器中使用 Jersey 1.17。

最佳答案

您可以将 /en//fr/ 部分设为变量。然后将您的语言环境设置为变量的值。这是一个例子:

@Path("/{locale}/username")
public class UserResource {

@GET
@Produces("text/xml")
public String getUser(@PathParam("locale") String locale) {
...
}
}

但这可能不是解决问题的最佳方法。回答后,我发现另一个 SO 问题是解决问题的更好方法:Getting the client locale in a jersey request通过这种方式,您无需将其添加到 URL。只需让客户端设置一个标题即可。

关于java - 我如何支持 Jersey 的本地化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16242370/

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