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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • idea 2022 3.2激活码[最新免费获取]「建议收藏」

    (idea 2022 3.2激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html1M2OME2TZY-eyJsaWN…

  • 你有网站吗_有些网站进不去怎么办

    你有网站吗_有些网站进不去怎么办1.最强大的“免费电子书”下载区——新浪电子书共享http://ishare.iask.sina.com.cn/(数十万册哦,全是免费滴!)2.性能很好的免费网络硬盘——云盘网(10G免费超大空间哦,支持共享,可加密文件)http://www.diskes.com/3.爱酷美剧(一边看美剧,一边学英语,不耽误啊!)http://www.icoolen.com/film4.传说中“天涯第一镇山神贴”!!!(先说明白了。机子配置低的不要点开。会死机的。镇山贴可不是开玩笑的,配置低的,直接卡死在外面,配置

  • SQL Browser_sqlitedatabase

    SQL Browser_sqlitedatabase在网上找一个SQLITE查看器这个查看器叫做:www.jb51.net/database/118822.html这个查看器可以新建SQLITE文件数据库,可以建立表索引,写SQL语句,编辑表数据不过这个查看器支持的SQLITE数据库引擎版本低了一点,先介绍一下SQLiteDatabaseBrowser2.0是怎么用的?主界面将SQLITE的db文件拖进去软…

  • (超详细)Eclipse使用教程——使用Eclipse创建第一个HelloWorld!

    (超详细)Eclipse使用教程——使用Eclipse创建第一个HelloWorld!超详细的Eclipse使用教程——使用Eclipse创建第一个HelloWorld!,手把手教学啊。

  • 串口服务器调试助手使用教程,串口调试助手使用教程【操作方式】

    串口服务器调试助手使用教程,串口调试助手使用教程【操作方式】喜欢使用电脑的小伙伴们一般都会遇到win7系统串口调试助手使用教程的问题,突然遇到win7系统串口调试助手使用教程的问题就不知道该怎么办了,其实win7系统串口调试助手使用教程的解决方法非常简单,按照1:打开电脑浏览器,进入百度搜索在输入框输入:友善串口助手,回车进行搜索,在第一条直接点击下载,安装即可.2:安装完成后,桌面上会有一个这样的图标我们双击打开.来操作就行了,接下来小伙伴们…

  • 完全卸载Oracle方法(超详细)

    完全卸载Oracle方法(超详细)Step0:进入服务找到Oracle开头的服务将这些服务全部停止Step1.点击开始菜单找到Oracle,然后点击Oracle安装产品,再点击UniversalInstallerStep2.点击之后稍等一会然后会进入进入下图界面,点击卸载产品Step3.选中要删除的Oracle产品,然后点击删除Step4.进入下图所示的目…

发表回复

您的电子邮箱地址不会被公开。

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