2013-03-11 3 views
1

이미 다음 코드를 사용하여 URI 사용자 아바타를 얻을 관리했습니다 :사용자 프로필의 URI를 가져 오는 방법은 무엇입니까?

URI uri = ComponentAccessor.getAvatarService().getAvatarURL(user, user.getName(), Avatar.Size.SMALL); 

을 그리고 반환 /jira/secure/useravatar?size=small&avatarId=10122

내 질문입니다 - 사용자 프로필에 URI를 받고 어떤 방법이?

답변

1

사용자의 프로필이 jira.server.com/secure/ViewProfile.jspa?name=john에있는, 그래서 당신이 URI는 같은 것을 할 수 얻을 수 추측됩니다 동적 URI를 찾으려면

user = "john" 
user_profile_uri = "/jira/secure/ViewProfile.jspa?name=" + user 

업데이트 :

import com.atlassian.jira.ComponentManager 
import java.net.URI 
uri = new URI(ComponentManager.getInstance().getApplicationProperties().getString("jira.baseurl")) 
return user_profile_uri = uri.getPath() + "ViewProfile.jspa?name=" + user 
+0

예, URI 작성기를 수동으로 만들 수 있음을 알고 있습니다. String builder를 사용한다고 가정 해 보겠습니다. 문제는이 URI의 첫 부분이 다른 서버에 따라 다르다는 것입니다. 따라서 내 컴퓨터에서는'/ jira/secure'이지만, 프로덕션에서는 약간 다릅니다. 따라서 항상 올바른 경로를 반환하는 API를 찾고 있어요. – Krokodylowy

+0

대답이 업데이트되었습니다. 도움이 되었다면 [이 답변 수락] (http://meta.stackexchange.com/questions/16721/how-does-accept-rate-work/65088#65088) :) – Kuf

+0

흠, 고맙습니다. 공헌을 위해, 그러나 그것은 내가 찾고 있었던 대답이 아니다. 제공 한 코드는 로컬 네트워크에있는 내 컴퓨터의 이름을 반환하고 아바타 URI에 대한 코드는'localhost'를 반환합니다 ... 나는 그것이 효과가있을 것이라는 것을 알고 있지만 좀 이상하게 보일 수 있습니다. 마지막으로 아바타 URI에 적용된 정규 표현식을 사용하여 솔루션을 사용했습니다. 그리고 저는 여전히 트릭을 수행하는 API가 있어야한다고 생각합니다. – Krokodylowy