java jersey,java Jersey

java jersey,java Jersey场景:用Jersey构建RESTful服务3-JAVA对象转成JSON输出用Jersey构建RESTful服务3–JAVA对象转成JSON输出一、总体说明XML和JSON是最为常用的数据交换格式。本例子演示如何将java对象,转成JSON输出。二、流程1.在上文项目中,在“com.waylau.rest.resources.UserResource“中增加代码,代码如下:@GET@Path(…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

场景:用Jersey构建RESTful服务3-JAVA对象转成JSON输出

用Jersey构建RESTful服务3–JAVA对象转成JSON输出

一、 总体说明

XML和JSON 是最为常用的数据交换格式。本例子演示如何将java对象,转成JSON输出。

二、流程

1.在上文项目中,

在“com.waylau.rest.resources.UserResource“中增加代码,代码如下:

@GET

@Path(“/getUserJson”)

@Produces(MediaType.APPLICATION_JSON)

public User getUserJson() {

User user = new User();

user.setAge(“27”);

user.setUserId(“005”);

user.setUserName(“Fmand”);

return user;

}

MediaType.APPLICATION_JSON 说明输出的是JSON格式

2,运行项目,浏览器输入http://localhost:8089/RestDemo/rest/users/getUserJson

期望获取到json的数据,此时,项目报错

org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException: MessageBodyWriter not found for media type=application/json, type=class com.waylau.rest.bean.User, genericType=class com.waylau.rest.bean.User.

at org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor.aroundWriteTo(WriterInterceptorExecutor.java:247)

at org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:162)

at org.glassfish.jersey.filter.LoggingFilter.aroundWriteTo(LoggingFilter.java:293)

at org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:162)

at org.glassfish.jersey.server.internal.JsonWithPaddingInterceptor.aroundWriteTo(JsonWithPaddingInterceptor.java:103)

at org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:162)

at org.glassfish.jersey.server.internal.MappableExceptionWrapperInterceptor.aroundWriteTo(MappableExceptionWrapperInterceptor.java:88)

at org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:162)

at org.glassfish.jersey.message.internal.MessageBodyFactory.writeTo(MessageBodyFactory.java:1154)

at org.glassfish.jersey.server.ServerRuntime$Responder.writeResponse(ServerRuntime.java:571)

at org.glassfish.jersey.server.ServerRuntime$Responder.processResponse(ServerRuntime.java:378)

at org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:368)

at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:262)

a0c347284ee7709d53fdc6a62d41068e.png

此时,需要获取json转换包的支持 。

可以由多种方式实现:MOXy、JSON-P、Jackson、Jettison等,本例为Jackson。

3. jackson-all-1.9.11.jar 下载地址http://wiki.fasterxml.com/JacksonDownload

4. 项目中引入jackson-all-1.9.11.jar

5.在“com.waylau.rest”目录下创建RestApplication.java

package com.waylau.rest;

import org.codehaus.jackson.jaxrs.JacksonJsonProvider;

import org.glassfish.jersey.filter.LoggingFilter;

import org.glassfish.jersey.server.ResourceConfig;

/**

* 应用

* @author waylau.com

* 2014-3-18

*/

public class RestApplication extends ResourceConfig {

public RestApplication() {

//服务类所在的包路径

packages(“com.waylau.rest.resources”);

//注册JSON转换器

register(JacksonJsonProvider.class);

}

}

6.修改web.xml,初始化从RestApplicaton进入应用,如下:

Way REST Service

org.glassfish.jersey.servlet.ServletContainer

javax.ws.rs.Application

com.waylau.rest.RestApplication

1

Way REST Service

/rest/*

7.运行项目,再次访问http://localhost:8089/RestDemo/rest/users/getUserJson

即可输出JSON文本

26d0d29424e6deda1085c068fdbc0c6b.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157850.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 一阶惯性环节低通滤波_二阶有源低通滤波器原理

    一阶惯性环节低通滤波_二阶有源低通滤波器原理一阶惯性滤波传递函数为采用后向差分离散化可得其中Tsam是采样周期,将z函数写成差分递推式(1)浮点型//k为时间常数,是采样周期的k倍。Target_Value被滤波的值。*temp_IQ_fifter是滤波后的值。voidFifter_P…

    2022年10月4日
    0
  • Java引用类型具体解释

    Java引用类型具体解释

    2021年12月30日
    48
  • webpackdevtool配置简单对比简书_钢铁雄心4toolpackMOD

    webpackdevtool配置简单对比简书_钢铁雄心4toolpackMOD作用:webpack会将js代码进行压缩打包,loader也会处理相应代码,打包后代码很难进行查看,这也使得开发人员调试时很难找到对应代码位置。此时可采用devtool,通过资源地图的方式,给出打包后代码到原始代码的映射,方便开发人员调试。要点:webpack官方给出了多种模式,模式间主要区别以及应用场景已经给出,下面是主要参考参数参数名参数描述参数值devtool可以使用的devtool根据基础模式可自行组合,基础模式有:(eval、cheap、module、inli.

    2022年10月5日
    0
  • mysql使用set类型_java修改request请求参数

    mysql使用set类型_java修改request请求参数Iamtryingtosendmultipleimagestoserverbut,soIamstoringalltheimagesinonearraylist,butafterthatwhenIneedtosendtoserver,itshowserrornearline,,………………….conn.set…

    2022年9月10日
    0
  • workflow开发_php工作流引擎

    workflow开发_php工作流引擎给大家介绍一款.net流程引擎WikeFlow.微软官方的WorkFlow入门要求比较高,所以我们萌生了开发一个简单的工作流引擎,帮助.Netcoder们解决软件项目中流程的处理。实现写最少的代码,实现最炫酷的功能。WikeFlow官网:www.wikesoft.cnWikeFlow演示地址:workflow.wikesoft.com流程设计器实际运用…

    2022年10月20日
    0
  • VS2008安装失败_vs2015安装时发生严重错误

    VS2008安装失败_vs2015安装时发生严重错误因为前两天XML的作业时用VS2008做的,公司的电脑上没装,打算装一个,以前安装过N次VS2008,昨天在公司的电脑上安装提示如下错误:    当时以为是安装的同时打开了很多其他的应用程序导致的这个问题。今天在关闭其他程序的情况下重新安装,还是出错。    在百度上搜说是与office2007冲突,解决办法是卸载office2007再安装,但是我以前都是在安装

    2022年9月6日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号