newsInfos


URI

<portal_uri>/news[.<format>]

支持的方法

GETPOSTDELETEHEAD

父资源

portal

子资源

newsInfosPublishedStatusnewsInfo

介绍

newsInfos 资源是新闻列表信息,支持查询新闻列表,支持添加新闻,支持批量删除新闻。

支持的方法:

支持的表述格式:RJSON、JSON、XML。

资源层次

HTTP 请求方法

对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiportal 是服务器名。

http://supermapiportal:8190/iportal/web/news.rjson

GET 请求

查询新闻列表信息。

请求参数

如果参数未设置,则返回当前用户有权限查看的当前第一页中的新闻列表信息,设置参数后,会返回用户指定的新闻列表信息,请求参数必须包含在 URI 中。

名称 类型 含义
currentPage int 根据分页页码过滤。
pageSize int 根据分页中每页大小过滤。
isReturnContent Boolean 根据是否返回新闻内容过滤。
keywords String[] 根据新闻关键字进行过滤。
orderBy NewsOrderBy 根据排序类型过滤。
orderType OrderType 排序结果升序/降序展示。
published Boolean 根据新闻发布状态进行过滤。

响应结构

对 newsInfos 资源执行 GET 请求,返回新闻列表信息。由以下字段组成:

字段 类型 说明
currentPage int 当前第几页。
pageSize int 每页大小。
total int 总记录数。
totalPage int 总页数。
content List<NewsInfo> 查询新闻条目的详细信息。
searchParameter NewsInfoSearchParameter 当前页的搜索参数。

响应示例

对 newsInfos 资源:http://localhost:8190/iportal/web/news.rjson 执行 GET 请求,返回 rjson 格式的资源表述如下:

{

    "total": 2,

    "totalPage": 1,

    "pageSize": 9,

    "searchParameter": {

        "orderType": "ASC",

        "keywords": null,

        "isReturnContent": false,

        "orderBy": null,

        "pageSize": 9,

        "published": null,

        "currentPage": 1

    },

    "currentPage": 1,

    "content": [

        {

            "thumbnail": null,

            "visitCount": 0,

            "createTime": 1600063805010,

            "nickname": "wangmeng",

            "updateTime": 1600063805010,

            "id": 705562473,

            "source": "研发中心",

            "published": true,

            "title": "iPortal 新闻中心上线",

            "category": null,

            "userName": "wangmeng",

            "content": null

        },

        {

            "thumbnail": null,

            "visitCount": 0,

            "createTime": 1600063651692,

            "nickname": "wangmeng",

            "updateTime": 1600063651692,

            "id": 1246621716,

            "source": "企划部",

            "published": true,

            "title": "GTC大会一号通知",

            "category": null,

            "userName": "wangmeng",

            "content": null

        }

    ]

}

如果希望获取指定条件的新闻列表信息,如根据新闻标题的关键字符过滤,则需要设置 keywords=["iPortal"],即对 newsInfos 资源:http://localhost:8190/iportal/web/newsInfos.rjson?keywords=["iPortal"] 执行 GET 请求,返回的 rjson 格式的资源表述如下:

{

    "total": 1,

    "totalPage": 1,

    "pageSize": 9,

    "searchParameter": {

        "orderType": "ASC",

        "keywords": [

            "iPortal"

        ],

        "isReturnContent": false,

        "orderBy": null,

        "pageSize": 9,

        "published": null,

        "currentPage": 1

    },

    "currentPage": 1,

    "content": [

        {

            "thumbnail": null,

            "visitCount": 0,

            "createTime": 1600063805010,

            "nickname": "wangmeng",

            "updateTime": 1600063805010,

            "id": 705562473,

            "source": "研发中心",

            "published": true,

            "title": "iPortal 新闻中心上线",

            "category": null,

            "userName": "wangmeng",

            "content": null

        }

    ]

}

POST 请求

添加一条新闻。

请求参数

发送请求时,需要在请求体中传递如下参数:

字段 类型 说明
thumbnail String 新闻的缩略图。
source String 新闻来源。
published Boolean 新闻是否已发布。
title String 新闻标题。
category String 新闻的类别。
content String 新闻的内容。

响应结构

返回的资源表述结构如下:

字段 类型 说明
newResourceID String 添加的新闻的 id。
newResourceLocation String 添加的新闻的 URI。
succeed boolean 添加新闻是否成功。

响应示例

对 newsInfos 资源:http://localhost:8190/iportal/web/news.rjson 执行 POST 请求,添加一条新的新闻,发送请求体如下:

{

    "title": "会议通知",

    "source": "企划部",

    "content": "9月15日下午三点在一号会议室召开部门例会,请大家按时参加,不得缺席。",

    "published": false

}

则返回的 rjson 格式响应结果如下:

{

    "newResourceID": "928867994",

    "succeed": true,

    "newResourceLocation": "http://192.168.17.199:8190/iportal/web/news/928867994"

}

DELETE 请求

 删除新闻,支持批量删除新闻。url 中传递需要删除的新闻的 id 数组。

响应结构

返回的资源表述结构如下:

字段 类型 说明
succeed boolean 删除新闻是否成功。
error Httperror 出错信息,如果删除新闻成功,则没有本字段。

响应示例

对 newsInfos 资源:http://localhost:8190/iportal/web/news.rjson?ids=[1,2] 执行 DELETE 请求,批量删除 id 为 1 和 2 的两条新闻,返回的 rjson 格式响应结果如下:

{ "succeed": true}

HEAD 请求

返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。

HEAD 请求可以用来判断 newsInfos 资源是否存在,或者客户端是否有权限访问 newsInfos 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 newsInfos 资源是否支持<format>格式的表述。

请参见