爪哇2博客
爪哇2博客

春季休息ful 网页 服务JSON示例

在这篇文章中,我们将看到Spring 休息ful 网页 服务json示例。

在上一篇文章中,我们创建了一个非常简单的Spring 休息ful 网页 服务,该服务返回纯文本。在本文中,我们将看到Spring 休息ful 网页 服务,它将返回json作为示例。如果您想与hibernate和mysql完全集成,可以通过 春季休息ful 冬眠 MySQL示例.

这是创建简单的Spring 休息ful 网页 服务的步骤,该服务将返回json。
1) 创建一个 在Eclipse中使用Maven的动态Web项目.

2) 我们需要在类路径中添加Jackson json实用程序。

1
2
3
4
5
6
7
 
<依赖>
            <groupId> com .fastxml.杰克逊. 核心 </groupId>
            <artifactId>杰克逊-数据绑定</artifactId>
             <>2.4.1</>
</依赖>
 

弹簧将自动将Jackson2JsonMessageConverter加载到其应用程序上下文中。每当您使用接受的标头=”接受= 应用程式 lication / json”,然后Jackson2JsonMessageConverter进入图片并将资源转换为json格式。

现在,按如下所示更改pom.xml:
pom.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 
<项目 xmlns="http://maven.apache.org/POM/4.0.0" xmlns: si ="http://www.w3.org/2001/XMLSchema-instance"
   si :schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId> com .Arpit.爪哇2blog</groupId>
  <artifactId>弹簧RestfulWebServicesWithJSONExample</artifactId>
  <打包> 战争 </打包>
  <>0.0.1-快照</>
  <名称>弹簧RestfulWebServicesWithJSONExample 马文 网络应用</名称>
  < 网址 > http ://maven.apache.org</url>
  <依存关系>
    <依赖>
      <groupId>unit</groupId>
      <artifactId>unit</artifactId>
      <>3.8.1</>
      <范围>测试</范围>
    </依赖>
    <依赖>
   <groupId>爪哇x.小服务程序</groupId>
   <artifactId>爪哇x.小服务程序- api </artifactId>
   <>3.1.0</>
  </依赖>
 
  <依赖>
   <groupId> 组织 .弹簧框架</groupId>
   <artifactId>弹簧- 核心 </artifactId>
   <>${弹簧.}</>
  </依赖>
  <依赖>
   <groupId> 组织 .弹簧框架</groupId>
   <artifactId>弹簧- 网路 多媒体 </artifactId>
   <>${弹簧.}</>
  </依赖>
   <依赖>
            <groupId> com .fastxml.杰克逊. 核心 </groupId>
            <artifactId>杰克逊-数据绑定</artifactId>
             <>2.4.1</>
        </依赖>
</依存关系>
<建立>
  <finalName>弹簧RestfulWebServicesWithJSONExample</finalName>
 
  <外挂程式>
   <插入>
    <groupId> 组织 .阿帕奇.专家.外挂程式</groupId>
    <artifactId>专家-编译器-插入</artifactId>
    <>3.1</>
    <组态>
     <资源>${ 杰克 .}</资源>
     <目标>${ 杰克 .}</目标>
    </组态>
   </插入>
  </外挂程式>
 
</建立>
<属性>
  <弹簧.>4.2.1。发布</弹簧.>
  < 杰克 .>1.7</ 杰克 .>
</属性>
</项目>
 

弹簧应用程序配置:

3) 如下更改web.xml:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
<!DOCTYPE 网路 - 应用程式 上市
“-// Sun Microsystems,Inc.//DTD 网页 应用程序2.3 // EN”
"http://java.sun.com/dtd/web-app_2_3.dtd" >
 
< 网路 - 应用程式 >
  <显示-名称>原型 已建立 网页 应用</显示-名称>
  <小服务程序>
<小服务程序-名称>弹簧座 </小服务程序-名称>
<小服务程序->
   组织 .弹簧框架. 网路 .小服务程序.分派器
</小服务程序->
< 加载 --启动>1</ 加载 --启动>
</小服务程序>
 
<小服务程序-映射>
<小服务程序-名称>弹簧座 </小服务程序-名称>
< 网址 -模式>/</ 网址 -模式>
</小服务程序-映射>
</ 网路 - 应用程式 >
 

4) create a xml file 名称d 弹簧座 -servlet.xml 在 /WEB-INF/ folder.
如果您想使用不同的弹簧包来搜索控制器,请更改context:component-scan。请参考 春季MVC 你好世界示例 了解更多。

1
2
3
4
5
6
7
8
9
10
11
12
 
<豆子 xmlns="http://www.springframework.org/schema/beans"
xmlns:语境="http://www.springframework.org/schema/context"
xmlns: 多媒体 ="http://www.springframework.org/schema/mvc" xmlns: si ="http://www.w3.org/2001/XMLSchema-instance"
si :schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
 
< 多媒体 :注解-驱动的/>
<语境:零件-扫描 基础 -=“ 组织 .arpit.java2blog.controller” />
 
</豆子>
 

创建bean类

5) 创建一个bean名称“Country.java”在org.arpit.java2blog.bean中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
组织 .Arpit.爪哇2blog.;
 
上市 国家{
 
     整型 ID ;
     国家的名字;
 
    上市 国家( 整型 i, 国家的名字) {
        ();
         这个 . ID = i;
         这个 .国家的名字 = 国家的名字;
    }
    上市 整型 getId() {
        返回 ID ;
    }
    上市 虚空 设置名称( 整型 ID ) {
         这个 . ID = ID ;
    }
    上市 getCountryName() {
        返回 国家的名字;
    }
    上市 虚空 setCountryName( 国家的名字) {
         这个 .国家的名字 = 国家的名字;
    }
 
}
 

创建控制器

6) 创建一个名为的控制器“CountryController.java”

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 
组织 .Arpit.爪哇2blog.控制者;
 
进口 爪哇. 实用程序 .数组列表;
进口 爪哇. 实用程序 . 清单 ;
 
进口 组织 .Arpit.爪哇2blog..国家;
进口 组织 .弹簧框架. 网路 .捆绑.注解.路径变量;
进口 组织 .弹簧框架. 网路 .捆绑.注解.请求映射;
进口 组织 .弹簧框架. 网路 .捆绑.注解.请求方法;
进口 组织 .弹簧框架. 网路 .捆绑.注解.休息Controller;
 
@休息Controller
上市 国家Controller {
 
    @请求映射( = “ /国家”, 方法 = 请求方法. 得到 ,标头="接受= 应用程式 lication / json")
    上市 清单 getCountries()
    {
         清单 listOfCountries = 数组列表();
        listOfCountries=createCountryList();
        返回 listOfCountries;
    }
 
    @请求映射( = “ /国家/ {id}”, 方法 = 请求方法. 得到 ,标头="接受= 应用程式 lication / json")
    上市 国家 getCountryById(@路径变量 整型 ID )
    {
         清单 listOfCountries = 数组列表();
        listOfCountries=createCountryList();
 
         对于 (国家 国家: listOfCountries) {
             如果 (国家.getId() == ID )
                返回 国家;
        }
 
        返回 空值;
    }
 
    //使用Utiliy方法创建国家/地区列表。
    上市 清单 createCountryList()
    {
        国家 印度国家= 国家(1, “印度”);
        国家 中国国家= 国家(4, “中国”);
        国家 尼泊尔国家= 国家(3, “尼泊尔”);
        国家 不丹国家= 国家(2, “不丹”);
 
         清单 listOfCountries = 数组列表();
        listOfCountries.(印度国家);
        listOfCountries.(中国国家);
        listOfCountries.(尼泊尔国家);
        listOfCountries.(不丹国家);
        返回 listOfCountries;
    }
}
 

@PathVariable: 用于将URL中的值注入到方法参数中。通过这种方式,您可以在getCountryById方法中注入id。

我们不提供任何视图信息 弹簧座 -servlet.xml as we do 在  春季MVC。 如果我们需要直接从控制器获取资源,则需要按照Spring 3返回@ResponseBody,但对于Spring 4,我们可以使用@RestController。
在Spring 4.0中,我们可以使用@RestController,它是@Controller + @ResponseBody的组合。

1
2
3
 
@休息Controller = @控制者 + @ResponseBody
 

6) It ‘是时候进行Maven构建了。

右键点击项目-> Run as -> 马文 建立
7) 提供目标作为全新安装(如下所示)并单击运行

运行应用程序

8) 右键点击项目-> run as -> run 上 server
选择Apache tomcat,然后单击完成

当您运行应用程序时,您可能会收到这种警告

1
2
3
4
 
三月 26, 2016 1:45:51 上午 组织 .弹簧框架. 网路 .小服务程序.找不到网页 noHandlerFound
警告: 没有 映射 发现 对于 HTTP 请求 URI [/弹簧RestfulWebServicesWithJSONExample/] 分派器 名称 'SpringRestfulWebServicesWithJSONExample'
 

请忽略以上警告。启动应用程序时,如果未提供起始页,则位于URL下方:
http :// localhost:8080 / 弹簧RestfulWebServicesWithJSONExample / 

当我们在web.xml中使用DispatcherServlet时,此请求转到spring 分派器,并且未在controller中找到相应的映射,因此您收到该警告。

9) 在以下条件下测试您的REST服务:“http:// localhost:8080 / 弹簧RestfulWebServicesWithJSONExample / countries”.

您将获得以下输出:

10)现在将国家/地区ID作为参数传递给url。
“http:// localhost:8080 / 弹簧RestfulWebServicesWithJSONExample / 国家 / 2”.

点击开始
20KB .zip
我们用Spring 休息ful 网页 服务Json示例完成了工作。如果您仍然遇到任何问题,请发表评论。

那’关于Spring 休息ful 网页 服务json示例的全部内容。


导入联系人

您可能还喜欢:


导入联系人

您可能还喜欢:

找不到帖子。

分享这个

作者

关注作者

相关文章

  • 4月29日

    春季靴 休息示例

    在本教程中,我们将看到如何使用Spring boot创建Restful 网页 服务。使用Spring 剩余JSON创建Rest API之间没有太多区别,我们之前已经看到过。 春季靴使得Rest API更容易。你不’不必在类路径中提供任何其他JSON依赖关系。春天[…]

  • 9月14日

    弹簧 休息+春季安全示例

    在本文中,我们将在Spring 休息示例中应用Spring Security。 网页 服务教程:Web服务介绍Web服务访谈问题SOAP 网页 服务介绍RESTful 网页 服务介绍SOAP和REST 网页 服务之间的区别使用Eclipse的Java中的SOAP 网页 服务示例JAX-WS 网页 服务Eclipse教程JAX-WS […]

  • 8月19日

    弹簧 @RestController示例

    在本文中,我们将看到另一个名为@RestController的重要注释。通常在与Spring 休息ful 网页 服务实现一起使用时使用。 春季MVC教程:Spring MVC你好世界示例Spring MVC休眠MySQL示例Spring MVC拦截器示例Spring MVC angularjs示例Spring MVC @RequestMapping示例Spring Component,Service,Repository和Controller […]

  • 8月17日

    弹簧 休眠休眠示例

    在上一篇文章中,我们已经看到了Spring 休息的示例。在本文中,我们将扩展相同的示例并将其与hibernate和mysql集成。我们将在CRUD操作中使用以下注释。方法描述Get用于读取资源Post用于创建新资源。它不是 […]

  • 8月08

    春季MVC @RequestMapping注释示例

    我们已经看到了Spring MVC的hello世界示例。 @RequestMapping是在Spring MVC中使用的重要注释之一。 春季MVC教程:Spring MVC你好世界示例Spring MVC休眠MySQL示例Spring MVC拦截器示例Spring MVC angularjs示例Spring MVC @RequestMapping示例Spring Component,Service,Repository和Controller示例Spring MVC @ModelAttribute注解[…]

  • 8月06

    春季MVC angularjs示例

    在本教程中,我们将看到Spring MVC angularjs示例。 春季MVC教程:Spring MVC hello世界示例Spring MVC休眠MySQL示例Spring MVC拦截器示例Spring MVC angularjs示例Spring MVC @RequestMapping示例Spring Component,Service,Repository和Controller示例Spring MVC @ModelAttribute注释示例Spring MVC @RestController注释示例Spring MultiActionController春季示例[…]

Comments

  1. 您好,我在此示例中遇到一个问题…

    lis 11,2015 3:09:30 PM 组织 .springframework.web.servlet.PageNotFound noHandlerFound
    警告:在DispatcherServlet中找不到名称为URI [/ 弹簧RestfulWebServicesWithJSONExample / countries]的HTTP请求的映射'springrest'

    1. I think you might have copied over the 包 值 of 基础 -package=”org.arpit.java2blog.controller” /> 在 弹簧座 -servlet.xml. You need to put 在 your own 包 名称 在 stead… I fell victim to 这个 error as well and it took me a few too many minutes to find the issue…

    1. 您是否正在使用Maven在项目上运行?如果是,那么maven将自动获取所需的库并将其放入构建路径中。
      让我知道您是否需要更多帮助。感谢您的询问

  2. 嗨,我现在收到此错误:

    2016年2月2日2:11:24 组织 .springframework.web.servlet.PageNotFound noHandlerFound
    警告:在DispatcherServlet中,名称为URI [/ 专家WebApp /]的HTTP请求未找到映射'springrest'

    我的应用程序名称是mavenWebAppp

    1. please check 弹簧座 -servlet.xml 在 /WEB-INF/ folder 上 ce
      如果要对spring使用不同的包来搜索控制器,则需要更改context:component-scan。
      让我知道您是否需要更多帮助。

  3. 如果不能正常工作“找不到带有URI的HTTP请求的映射”记住,运行成熟的更新程序!

    我当时遇到了这个问题,因此得到了解决。多谢

  4. 亲爱的作者,

    给您留下深刻印象的文章是一次操作。
    刚刚下载,使用Maven构建,更新了Maven,在Tomcat服务器上运行。
    休息 网页 Service的完美示例。

    非常感谢。

    问候,
    阿缅·穆罕默德(Ameen Mohammad)

  5. 我遇到的一个问题是Junit Dependency无法得到解决,因此应用程序无法正常工作。可能是示例中提供的版本已不建议使用。我删除了这种依赖关系,它起作用了。
    我做错的另一件事是没有在控制器类中更改bean类的导入包名称。我用这里给出的”org.arpit.java2blog.bean.Country”根据我的文件夹结构,这是错误的。我知道这是愚蠢的错误,但即使是日食也没有显示任何错误。

    顺便说一句,感谢arpit。好文章。

  6. 亲爱的作者,
    我给您的代码留下了深刻的印象,但是却出现了小错误。
    组织 .springframework.beans.factory.BeanDefinitionStoreException:IOException从ServletContext资源解析XML文档。

    任何帮助,高度赞赏

    问候

发表评论 取消回复

您的电子邮件地址不会被公开。 必需的地方已做标记 *

订阅我们的新闻

获取质量教程到您的收件箱。现在订阅。


成为朋友

©2020 爪哇2博客