gpt4 book ai didi

java - 是否有 Groovier 子串方式?

转载 作者:可可西里 更新时间:2023-11-01 16:34:35 25 4
gpt4 key购买 nike

这些天我使用了更多的 groovy,我遇到了一个问题,我想将子字符串变成一个已知字符。简而言之,我试图从 HTTP header 中获取 session cookie。我的代码是这样丑化的:

def cookie = connection.headerFields.find{ it.key =='Set-Cookie'}.value[0]
cookie = cookie[0..cookie.indexOf(';')-1]

其中连接是对 URLConnection 的引用。如果没有额外的操作,我会得到一个像 [JSESSIONID=72Q4TCEEDC21GX9152E7702A23DC3854E; Path=/; Secure]” 这样的值。最终结果是预期的 session ID "JSESSIONID=72Q4TCEEDC21GX9152E7702A23DC3854E"。但我不禁想到一定有一种更时髦的方法来解决这个问题。简而言之,我缺少一个 substringToString(';'),我认为我可能至少在其他一种语言中见过它。总的来说,我认为可能有 4-5 种更好的方法可以在没有其他路径和安全措辞的情况下获取 cookie。

最佳答案

看起来你把事情复杂化了。你为什么不能这样做:

//  if you want all cookies
def cookies = request.cookies

// if you need a particular cookie
def cookie = request.cookies.find { it == 'cookie-name' }

上述方法适用于 Controller 。从服务层开始,您首先需要这样做:

def request = RequestContextHolder.currentRequestAttributes().request

虽然我不建议这样做。

关于java - 是否有 Groovier 子串方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10779218/

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