小编dha*_*ich的帖子

Jersey:找不到Java类和MIME mediatype应用程序/ json的消息正文编写器

在试图弄清楚我的问题后,我终于决定问你如何解决我的问题.我见过不同的人有同样的问题,我尝试了他们所建议做的所有事情,但没有任何帮助我的问题.所以基本上我有一个使用Jersey构建的RESTful服务.对于我的客户端,我想以JSON格式返回一个对象.我阅读了不同的教程,并认为使用jersey-json-1.8库是有意义的.我说的一切我的项目像往常一样,并试图运行它,但我打电话给服务每次(通过GET请求大气压)我收到HTTP错误代码500(内部服务器错误),我的服务器响应,没有邮件正文可以找到作家.如果我正在返回XML,它的工作正常,一切都很棒.我也试过复制jersey-json-1.8.jar到我的Tomcat lib文件夹,因为我必须使用我正在使用的mysql lib这样做,但它也没有帮助.如果你能帮我解决这个问题,我会很高兴的!如果您需要更多信息,请留下评论,我会尽可能快地提供它:)

我的项目设置是:3个不同的包1.我的RESTfulServices 2.我的Java工作,我处理SQL连接等.3.一个包,我存储我需要使用的所有模型,我想以JSON格式返回(在我的例子中为testdrive的路由)

Tomcat Webserver IDE:Eclipse我正在使用Maven

无论我试图返回对象的内容或方式,它都无法正常工作,我不断收到错误消息:

Mapped exception to response: 500 (Internal Server Error)
javax.ws.rs.WebApplicationException: com.sun.jersey.api.MessageException: A message body writer for Java class com.mykong.models.Teststrecke, and Java type class com.mykong.models.Teststrecke, and MIME media type application/json was not found
Run Code Online (Sandbox Code Playgroud)

编辑:这是我的JSON服务方法

@Path("/hellojson")
public class JSONService {


    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public ArrayList<Route> getJSONMsg()  
    {

        Route ts = new Route();
        ts.setId(1);
        ts.setName("HelloWorld");


        Route ts2 = new Route();
        ts2.setId(2);
        ts2.setName("HelloWorld");


        ArrayList<Route> availRoutes = new ArrayList<Route>();
        availRoutes.add(ts);
        availRoutes.add(ts2);


        return availRoutes;


    }
}
Run Code Online (Sandbox Code Playgroud)

eclipse mime json message jersey

23
推荐指数
3
解决办法
5万
查看次数

使用多个片段设置RadioButton.setChecked

嘿,我有一个非常愚蠢的问题,我无法弄清楚为什么它没有按预期工作.所以我使用viewpager和FragmentStatePagerAdapter有一个MultiFragment布局(每个都有一些不同的问题).当我打开托管所有这些片段的屏幕时,我正在尝试使用网络呼叫恢复之前的状态(标记所有已回答的问题).但是,如果我的片段对用户不可见,它似乎无法更新单选按钮/复选框的已检查状态.

在此输入图像描述

有谁知道我能做些什么来实现所希望的行为?

欢呼并提前致谢!

 @Override
 public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
     super.onViewCreated(view, savedInstanceState);
     presenter.restoreAnswersFromPreviousSession(questionId);
}

@Override 
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if (isVisible()) {
        if (isVisibleToUser) {
            presenter.restoreAnswersFromPreviousSession(questionId);
            Log.d("Fit", "My Fragment is visible");
        } else {
                   Log.d("Fit", "My Fragment is not visible");
               }
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里我恢复状态(在请求成功后调用)

previousReplies = repliesToRestore;
for (QualityReportReply reportReply : repliesToRestore) {
  int id = reportReply.id();
  switch (id) {
    case 201: {
      boolean tooThin = (boolean) reportReply.value();
      if (tooThin) {
        materialTooThinGroupYes.setChecked(true);
      } else {
        materialTooThinGroupNo.setChecked(true); …
Run Code Online (Sandbox Code Playgroud)

android radio-button android-fragments android-viewpager

13
推荐指数
1
解决办法
1172
查看次数