如何使用JAX-RS获取根上下文URL?

时间:2015-12-16 09:53:25

标签: jax-rs

使用给定的应用程序

   kip_time.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            reflexion_time = Integer.parseInt(kip_time.getText().toString());
            reflexion_time = reflexion_time * 1000;
            hide_keyboard(context, view);
        }
    });

UriInfo#getBaseUri为我提供了一个应用程序路径。

@ApplicationPath("/api")
public class MyApplication {
}

我如何获得上下文路径? 如何获取上下文路径的完整URL?

@Context
private UriInfo uriInfo

uriInfo.getBaseUri(); // http://address/<context-path>/api

更新

我目前使用this answer中的代码。

http://address/<context-path>

还有其他建议吗?

2 个答案:

答案 0 :(得分:3)

要获取应用程序上下文,可以在REST方法中注入ServletContext并从中检索contextPath,例如:

@GET
@Path("/{id}")
@Produces(MediaType.APPLICATION_JSON)
public Catalog find(@PathParam("id") Long id, @Context ServletContext servletContext) {
    String contextPath = servletContext.getContextPath();
    ...
}

修改

获取&#34;完整网址到上下文路径&#34;你要。您还可以使用@Context注释注入HttpServletContext并使用 getScheme() getServerName() getServerPort()方法来构建它。 / p>

答案 1 :(得分:1)

一种可能的方法是使用 <div class="form-group"> {!! Form::label('is_kids_friendly','Kids Friendly:') !!} {!! Form::radio('is_kids_friendly', true, null),'&nbsp', 'Yes' !!} {!! Form::radio('is_kids_friendly', false, null),'&nbsp','No' !!} </div> <div class="form-group"> {!! Form::label('is_kids_only','Kids Only:') !!} {!! Form::radio('is_kids_only', true, null),'&nbsp', 'Yes' !!} {!! Form::radio('is_kids_only', false, null),'&nbsp','No' !!} </div> <div class="form-group"> {!! Form::label('sineor_citizan_friendly','Sineor Citizan Friendly:') !!} {!! Form::radio('sineor_citizan_friendly', true, null),'&nbsp', 'Yes' !!} {!! Form::radio('sineor_citizan_friendly', false, null),'&nbsp','No' !!} </div>

HttpServletRequest