黑马前端
  1. 文章相关
黑马前端
  • 必须先读
  • Ajax编程_V7.6大纲配套
    • 省市区
      • 获取-省份列表
      • 获取-城市列表
      • 获取-地区列表
    • 登录和表单
      • 登录-表单提交
      • 登录-测试业务状态码
      • 测试-表单提交
      • 上传-头像
    • 图书管理
      • 获取-图书列表
      • 新增-图书
      • 删除-图书
      • 获取-图书详情
      • 修改-图书详情
    • 商品分类
      • 获取-顶级分类
      • 获取-二级分类
    • 个人信息
      • 获取-个人信息
      • 修改-个人信息
    • 机器人聊天
      • 机器人聊天
      • 消息转语音
    • 新闻接口
      • 获取-新闻列表
  • 数据可视化
    • 注册登录
      • 注册
      • 登录
    • 学生数据
      • 获取-学生统计数据
      • 获取-学生列表
      • 删除-学生
      • 添加-学生
      • 获取-学生详情
      • 修改-学生详情
  • Vue基础
    • 图书相关
      • 获取-图书列表
      • 发布-图书
    • 购物车
      • 获取-购物车列表
  • Vue_大事件
    • 注册登录
      • 注册
      • 登录
    • 用户相关
      • 获取-用户基本资料
      • 更新-用户基本资料
      • 更新-用户头像
      • 更新-用户密码
    • 布局
      • 获取-侧边栏数据
    • 文章分类
      • 获取-文章分类
      • 增加-文章分类
      • 获取-文章分类详情
      • 更新-文章分类
      • 删除-文章分类
    • 文章管理
      • 发布-文章
      • 获取-文章列表
      • 获取-文章详情
      • 删除-文章
  • 黑马头条号
    • 用户相关
      • 登录
      • 获取-用户资料
      • 更新-用户资料
      • 更新-用户头像
    • 文章相关
      • 获取-文章频道列表
      • 新增-文章
      • 获取-文章列表
      • 获取-文章详情
      • 更新-文章详情
      • 删除-文章
    • 素材库
      • 新增-图片
      • 获取-图片列表
      • 修改-图片收藏
      • 删除-图片
    • 评论和粉丝
      • 获取-评论列表
      • 关闭/开启-评论
      • 获取-粉丝列表
  • 极客园_PC
    • 用户相关
      • 发送-短信验证码
      • 注册/登录
      • 获取-用户个人资料
      • 获取-用户详细资料
      • 获取-用户关注列表
      • 获取-用户粉丝列表
      • 更新-用户个人资料
      • 更新-用户照片资料
    • 文章管理
      • 获取-文章列表
      • 新增-文章
      • 获取-文章详情
      • 编辑-文章
      • 删除-文章
    • 其他接口
      • 获取-所有频道
      • 上传图片
  • 极客园(黑马头条)_移动端
    • 注册登录
      • 注册登录
      • 刷新token
    • 用户相关
      • 更新-用户个人简介
      • 获取-用户个人简介
      • 更新-用户头像
      • 获取-用户关注列表
      • 获取-用户粉丝列表
      • 获取-用户基本资料
    • 搜索
      • 获取-搜索结果
      • 获取-搜索联想建议
    • 文章相关
      • 获取-文章列表
        GET
      • 获取-文章详情
        GET
      • 文章-关注作者
        POST
      • 文章-取关作者
        DELETE
      • 文章-点赞
        POST
      • 文章-取消点赞
        DELETE
      • 文章-举报
        POST
      • 文章-不感兴趣
        POST
      • 文章-取消不感兴趣
        DELETE
      • 文章-收藏
        POST
      • 文章-取消收藏
        DELETE
      • 获取-用户阅读历史
        GET
      • 获取-用户收藏列表
        GET
    • 频道相关
      • 获取-所有频道列表
      • 设置-频道列表
      • 获取-用户选择的频道
    • 小智同学
      • 即时通信
    • 评论相关
      • 获取-文章评论列表
      • 增加-文章评论
      • 评论-点赞
      • 评论-取消点赞
  • 人资项目
    • 登录
      • 登录
    • 用户相关
      • 获取-用户基本资料
    • 组织架构-部门
      • 获取-部门列表
      • 获取-部门负责人列表
      • 新增-部门
      • 获取-部门详情
      • 修改-部门详情
      • 删除-部门详情
    • 角色管理
      • 获取-角色列表
      • 新增-角色
      • 获取-角色详情
      • 修改-角色详情
      • 删除-角色
      • 分配权限-角色
    • 员工管理
      • 获取-员工列表
      • 新增-员工
      • 获取-员工-基本信息
      • 获取-员工-个人信息
      • 获取-员工-岗位信息
      • 修改-员工-基本信息
      • 批量-导入员工
      • 分配-员工-角色
      • 删除-员工
    • 权限点管理
      • 获取-权限点列表
      • 新增-权限点
      • 获取-权限点详情
      • 修改-权限点详情
      • 删除-权限点
    • 更多接口
      • 更多接口
  • 小兔鲜电商
    • 登录
      • 登录-用户名密码
      • 获取-短信验证码-登录
      • 登录-手机验证码
    • 首页页面
      • 获取-全部分类(包含推荐商品)
      • 获取-热门品牌
      • 获取-轮播图数据
      • 获取-新鲜好物
      • 获取-人气推荐
    • 分类页面
      • 获取-二级分类列表
    • 搜索页面
      • 获取-商品搜索结果
    • 商品相关
      • 获取-商品详情
      • 获取-商品详情-库存
    • 购物车
      • 合并购物车
      • 获取-购物车列表
      • 加入-购物车
      • 删除-购物车商品
      • 修改-购物车商品
      • 修改-购物车全选/取消
    • 订单相关
      • 生成-订单(结算页)
      • 提交-订单
      • 获取-订单详情(以及支付结果)
      • 支付-支付宝-PC
    • 收货地址
      • 添加-收货地址
      • 获取-收货地址
      • 修改-收货地址
      • 删除-收货地址
    • 更多接口
      • 更多接口
  • 小程序基础
    • GET-测试
    • POST-测试
    • 获取-轮播图列表
    • 获取-九宫格列表
    • 获取-商铺列表
  • 小程序项目
    • 无需登录
      • 获取-轮播图数据
      • 获取-分类选项列表
      • 获取-楼层数据
      • 获取-商品搜索-结果列表
      • 获取-商品搜索-建议列表
      • 获取-商品详情
      • 获取-分类列表
    • 需要登录
      • 创建-订单
      • 订单-支付
      • 订单-支付状态查询
      • 订单-查询
    • 微信-登录
  • layui_大事件
    • 注册登录
      • 注册
      • 登录
    • 个人中心
      • 获取-用户基本信息
      • 更新-用户基本信息
      • 修改-密码
      • 修改-头像
    • 分类相关
      • 获取-文章分类列表
      • 新增-文章分类
      • 删除-文章分类
      • 获取-文章分类详情
      • 更新-文章分类详情
    • 文章相关
      • 添加-新文章
      • 获取-文章列表
      • 删除-文章
      • 获取-文章详情
      • 更新-文章详情
  • 品优购电商后台
    • 登录
      • 登录
    • 侧边栏
      • 获取-侧边栏导航列表
    • 用户管理
      • 获取-用户列表
      • 添加-用户
      • 修改-用户状态
      • 获取-用户详情
      • 修改-用户详情
      • 删除-用户
      • 获取-角色列表
      • 分配-用户权限
    • 权限管理
      • 获取-角色列表
      • 获取-权限列表-树形结构
      • 角色分配-权限点
      • 删除角色-权限点
      • 获取-权限列表-扁平结构
    • 商品管理
      • 获取-商品列表
      • 获取-商品分类列表
      • 获取-商品参数和属性
      • 添加-商品
      • 商品-删除
    • 订单管理
      • 获取-订单列表
      • 获取-物流信息
    • 数据统计
      • 获取-数据统计
  • 其他可用接口
    • 网易新闻
      • 获取-头条新闻列表
      • 获取-精选新闻列表
      • 获取-娱乐新闻列表
      • 获取-汽车新闻列表
      • 获取-运动新闻列表
    • 网易云音乐
      • 接口文档
    • 必要商城
      • 注册和登录
        • 获取-验证码
        • 注册-用户
        • 登录-用户
      • 首页
        • 获取-轮播图列表
        • 获取-限时活动列表
      • 分类
        • 获取-一级分类列表
        • 获取-二级分类列表
        • 获取-三级分类列表
        • 获取-三级分类-下属商品列表
      • 搜索
        • 获取-搜索结果列表
        • 获取-热门搜索关键字
        • 添加=搜索关键字
      • 省市区
        • 获取-省份列表
        • 获取-城市列表
        • 获取-地区列表
  1. 文章相关

获取-文章详情

GET
/v1_0/articles/{article_id}
获取文章详情
注意: 本接口不包含文章评论,文章评论在另外的接口。

请求参数

Path 参数
article_id
string 
文章id
必需
示例值:
7950

示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request GET 'http://geek.itheima.net/v1_0/articles/7950'

返回响应

🟢200成功
application/json
Body
data
object 
响应数据
必需
art_id
string 
文章id
必需
title
string 
文章标题
必需
pubdate
string 
文章发布时间
必需
aut_id
string 
文章作者id
必需
content
string 
文章内容
必需
aut_name
string 
文章作者名
必需
aut_photo
string 
文章作者头像
必需
无头像, 默认为null
is_followed
boolean 
文章作者-是否被关注
必需
true(关注)false(未关注), 说的是当前登录用户对这个文章作者的关注状态
is_collected
boolean 
文章-是否被收藏
必需
true(已收藏)false(未收藏)是登录的用户对此文章的收藏状态
attitude
integer 
文章-是否被点赞
必需
-1无态度, 0未点赞, 1点赞, 是当前登录用户对此文章的态度
comm_count
integer 
文章_评论总数
必需
read_count
integer 
文章_阅读总数
必需
like_count
integer 
文章_点赞总数
必需
message
string 
响应消息
必需
示例
{
    "data": {
        "art_id": "7950",
        "title": "一个很简短的 JS 生成器入门和用法参考",
        "pubdate": "2019-03-11 09:00:00",
        "aut_id": "1111",
        "content": "<h1 class=\"heading\" data-id=\"heading-0\">生成器函数</h1>\n<p>在写其他 js 代码时会经常用到 <code>debugger</code> 的东西,能够让当前运行的函数暂停住。生成器函数里的 <code>yield</code> 关键词也能使得函数暂停运行,<strong>同时还能用来做数据的输入输出</strong>(如果是 <code>debugger</code>,只能手动去逐个 inspect 变量)。</p>\n<p><code>yield</code> 可以当作“断点”。<code>yield value</code> 除了能当作断点,<strong>还可以向外部输出 value</strong>。</p>\n<p>此外,<code>yield</code> 表达式本身也是可以有值的,也就是说<strong>还可以表示外部传入的数据</strong>。只要外部在调用 <code>next(inputValue)</code> 时输入一个值。\n这就是为什么在赋值语句里,可以用 <code>yield</code> 作为右值(例如,在使用了 react-saga 的项目里到处都是这种玩意儿)。</p>\n<pre><code class=\"hljs js copyable\" lang=\"js\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">function</span>* <span class=\"hljs-title\">fn1</span>(<span class=\"hljs-params\"/>)</span>{\n  <span class=\"hljs-keyword\">var</span> data = <span class=\"hljs-keyword\">yield</span> <span class=\"hljs-string\">\"字符串反转器已启动\"</span>\n  <span class=\"hljs-keyword\">yield</span> data.split(<span class=\"hljs-string\">\"\"</span>).reverse().join(<span class=\"hljs-string\">\"\"</span>)\n}\n\n<span class=\"hljs-comment\">// 创建 Generator 对象</span>\n<span class=\"hljs-keyword\">var</span> g = fn1()\n\n<span class=\"hljs-comment\">// 运行函数,直到遇到第一个“断点”(yield 处)</span>\n<span class=\"hljs-built_in\">console</span>.log(g.next())\n\n<span class=\"hljs-comment\">// 上次停顿的位置是 var data = yield \"字符串反转器已启动\"</span>\n<span class=\"hljs-comment\">// 因此可以在继续运行前,使得 (yield \"字符串反转器已启动\") 的值为 \"Hello\"</span>\n<span class=\"hljs-built_in\">console</span>.log(g.next(<span class=\"hljs-string\">\"Hello\"</span>)) \n\n<span class=\"hljs-comment\">// 输出:</span>\n<span class=\"hljs-comment\">// { value: '字符串反转器已启动', done: false }</span>\n<span class=\"hljs-comment\">// { value: 'olleH', done: false }</span>\n<span class=\"copy-code-btn\">复制代码</span></code></pre><h2 class=\"heading\" data-id=\"heading-1\">Generator</h2>\n<p>正如前面的示例,调用一个 <code>function*</code> 生成器函数,会返回一个 Generator 对象(上文的 <code>g</code>)。这个对象<a target=\"_blank\" href=\"https://link.juejin.im?target=https%3A%2F%2Fdeveloper.mozilla.org%2Fzh-CN%2Fdocs%2FWeb%2FJavaScript%2FReference%2FIteration_protocols\" rel=\"nofollow noopener noreferrer\">是可迭代对象</a>(最常见的用法,即用于 <code>for of</code> 循环中)。</p>\n<p>此外,可以把它当作一个控制器,控制着一个被 <code>yield</code> 打了断点(而且还没开始运行)的函数。</p>\n<p>Generator 其具备下列方法:</p>\n<ol>\n<li><code>next(inputValue?): { value, done }</code>\n<ul>\n<li>(从头,或者从上次停止的位置)开始运行生成器函数体,直到遇到 <code>yield</code> 或者 <code>return</code></li>\n<li>注意:此函数可以有一个可选的参数 <code>inputValue</code> 。可以在继续运行生成器函数前,为上次停顿所在的 yield 表达式设置一个值。</li>\n</ul>\n</li>\n<li><code>throw(e): { value, done }</code>\n<ul>\n<li>如果生成器函数没开始运行,则等同于原地 throw</li>\n<li>否则,在生成器函数体当前 <code>yield</code> 停顿的位置 throw 一个异常,然后继续运行,直到遇到 <code>yield</code> 、 <code>return</code> 或者未被捕获的异常(见下文)</li>\n</ul>\n</li>\n<li><code>return(value): {value, done}</code>\n<ul>\n<li>强行终止(即使生成器函数还没运行完毕),并指定一个 value 作为返回值</li>\n</ul>\n</li>\n<li><code>[Symbol.iterator]()</code>\n<ul>\n<li>用于迭代协议的。效果同直接调用 <code>next()</code></li>\n</ul>\n</li>\n</ol>\n<h2 class=\"heading\" data-id=\"heading-2\">yield*</h2>\n<p>和 <code>yield</code> 关键词相比,多了一个星号。可以把 <code>yield* another_iterable</code> 当作以下代码语法糖:</p>\n<pre><code class=\"hljs js copyable\" lang=\"js\"><span class=\"hljs-keyword\">for</span> (<span class=\"hljs-keyword\">let</span> item <span class=\"hljs-keyword\">of</span> another_iterable) {\n  <span class=\"hljs-keyword\">yield</span> item;\n}\n<span class=\"copy-code-btn\">复制代码</span></code></pre><p>也就是说,<strong>在生成器函数里</strong>, <code>yield*</code> 就是针对一个可迭代对象,把它的每一项逐个地 <code>yield</code> 出来。</p>\n<p>有趣的例子:</p>\n<ul>\n<li><code>yield* [1,2,3]</code> 会把3个数字逐个 yield 出来。数组是可迭代的。</li>\n<li><code>yield* \"abcdefg\"</code> 会把这7个字母逐个 yield 出来。字符串也是可迭代对象。</li>\n<li><code>yield* another_generator</code> 相当于把另一个 Generator 的输出,当作自己的输出给一个个 yield 出去了。\n<ul>\n<li>这个有趣的特性可以用来做拦截器之类的应用。</li>\n<li>说到了串联,如果是当前生成器函数想要利用另外一个生成器的返回值,直接调用 <code>another_generator.next().value</code> 就行了</li>\n</ul>\n</li>\n</ul>\n<h2 class=\"heading\" data-id=\"heading-3\">生成器函数内的异常</h2>\n<p>由 <code>next()</code> 或者 <code>throw(e)</code> 可以让生成器函数开始运行。在运行过程中,如果生成器函数里遇到了<strong>未被捕获</strong>的异常(可以是生成器内部自己产生的,或者由外部调用 <code>throw(e)</code> 塞进去的),那么会在外部由 <code>next()</code> 或者 <code>throw(e)</code> 给 throw 出来</p>\n<pre><code class=\"hljs js copyable\" lang=\"js\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">function</span>* <span class=\"hljs-title\">test</span>(<span class=\"hljs-params\"/>)</span>{\n  <span class=\"hljs-keyword\">try</span> {\n    <span class=\"hljs-built_in\">console</span>.log(<span class=\"hljs-string\">\"inner: Hello\"</span>)\n    <span class=\"hljs-built_in\">console</span>.log(<span class=\"hljs-string\">\"inner: GET\"</span> + (<span class=\"hljs-keyword\">yield</span> <span class=\"hljs-string\">\"output1\"</span>))\n  } <span class=\"hljs-keyword\">catch</span> (err) {\n    <span class=\"hljs-built_in\">console</span>.log(<span class=\"hljs-string\">\"inner: Caught\"</span>, err)\n  }\n  <span class=\"hljs-built_in\">console</span>.log(<span class=\"hljs-string\">\"inner: Done\"</span>)\n  <span class=\"hljs-keyword\">return</span> <span class=\"hljs-string\">\"output 2\"</span>\n}\n\n<span class=\"hljs-keyword\">var</span> g = test()\n<span class=\"hljs-built_in\">console</span>.log(<span class=\"hljs-string\">\"outer: next: \"</span>, g.next(<span class=\"hljs-string\">\"input 1\"</span>))\n<span class=\"hljs-built_in\">console</span>.log(<span class=\"hljs-string\">\"outer: throw: \"</span>, g.throw(<span class=\"hljs-string\">\"err\"</span>))\n<span class=\"hljs-built_in\">console</span>.log(<span class=\"hljs-string\">\"outer: next: \"</span>, g.next(<span class=\"hljs-string\">\"input 2\"</span>))\n<span class=\"copy-code-btn\">复制代码</span></code></pre><p>上面的例子输出如下。注意到由外部提供的 <code>input1</code> 不会被输出,因为那是<strong>生成器函数还没开始运行的时候</strong>传进去的,能传到哪里?没有任何的意义。</p>\n<pre><code class=\"hljs bash copyable\" lang=\"bash\">inner: Hello\nouter: next:  { value: <span class=\"hljs-string\">'output1'</span>, <span class=\"hljs-keyword\">done</span>: <span class=\"hljs-literal\">false</span> }\ninner: Caught err\ninner: Done\nouter: throw:  { value: <span class=\"hljs-string\">'output 2'</span>, <span class=\"hljs-keyword\">done</span>: <span class=\"hljs-literal\">true</span> }\nouter: next:  { value: undefined, <span class=\"hljs-keyword\">done</span>: <span class=\"hljs-literal\">true</span> }\n<span class=\"copy-code-btn\">复制代码</span></code></pre><hr/>\n<blockquote>\n<p><strong>安利</strong></p>\n<p>写了一个 Markdown <strong>编辑器组件,只要一个框,所见即所得</strong>,而且还全面兼容 CodeMirror(一个很强大的代码编辑组件)</p>\n<p>悄悄安利一下: <a target=\"_blank\" href=\"https://link.juejin.im?target=https%3A%2F%2Flaobubu.net%2FHyperMD%2F\" rel=\"nofollow noopener noreferrer\">laobubu.net/HyperMD/</a></p>\n<p>(欢迎来 <a target=\"_blank\" href=\"https://link.juejin.im?target=https%3A%2F%2Fgithub.com%2Flaobubu%2Fhypermd%2F\" rel=\"nofollow noopener noreferrer\">GitHub 点赞</a> 或者<a target=\"_blank\" href=\"https://link.juejin.im?target=https%3A%2F%2Flaobubu.net%2Fdonate.html\" rel=\"nofollow noopener noreferrer\">帮我买杯咖啡</a>)</p>\n</blockquote>",
        "aut_name": "黑马先锋",
        "aut_photo": "http://geek.itheima.net/images/user_head.jpg",
        "is_followed": false,
        "is_collected": false,
        "attitude": -1,
        "comm_count": 11,
        "read_count": 149,
        "like_count": 0
    },
    "message": "OK"
}
🟠404文章不存在
上一页
获取-文章列表
下一页
文章-关注作者
Built with