Tag: rest

创build用户帐户时更正HATEOAS响应

我有一个使用HATEOAS的节点写的REST api。 用户需要有一个帐户,才可以访问它的大部分。 他们注册一个具有login详细信息的帐户,然后login以获取访问令牌,然后使用该令牌访问任何未register或login端点。 向根发出一个响应,并带有可用动作的目录。 问: register的正确答案是什么,告诉客户接下来可以做什么(即login)? register技术上在服务器上创build一个新的资源,所以一个201 CREATED和一个Location标题看起来是适当的。 但是, login引用不是新创build的资源的位置。 我应该返回201 Created与指向新创build的用户(例如/myaccount或/users/{id} ,然后在响应正文中包含一个login链接? { _links:{ 自我:{href:“这里有什么?” }, x:login:{href:“/ login”} } } 我是否根本不告诉客户,并要求他们去get应用程序根目录,以获取可用端点的列表。 无论如何,这应该包括login 。 假设客户端必须这样做,首先要获得register链接,它应该已经login 。 期望客户已经有login链接感到不舒服,因为它依赖于客户的先前活动的假设。 要求客户在注册后向根目录发出另一个请求似乎意味着低效和不必要。 如果客户端刚刚创build了一个资源,服务器应该用下一步可以做的事情做出回应似乎是公平的。

具有RESTful API的Socket.io

我在Node.js创build了一个RESTful API,并且我希望在通过POST请求在数据库中创build消息后立即更新客户端应用程序。 所以我决定使用Socket.io 。 这是我的server.js代码: import http from "http"; import https from "https"; http.globalAgent.maxSockets = 1024; https.globalAgent.maxSockets = 1024; let app = require("express")(); let server = http.Server(app); let io = require('./lib/sockets').listen(server) //setup Database let Database = require("./util/Database").init() import { version } from "../config/version.json"; app.disable("x-powered-by"); import bodyParser from "body-parser"; app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); import routes […]

使用Django REST的Node.js和api上的UI应用程序

我已经find了这个基于AngularJS的模板,我想使用这个模板,目前这个模板是作为一个Node.js应用程序启动的,然后在我打算包装的一打表中有大量的数据一个Django REST框架。 最终UI应用程序将与Django REST框架进行通信。 你认为这是一个好主意吗? 或者我应该留在其中的一个框架? 我想听听那些在这两个框架上都有专业知识的人的赞成和反对。

如何通过Fitness REST API从Google健身店获取每日步数和活跃卡路里

我正在使用nodejs和Google的官方“googleapis”模块。 我无法从任何数据源获取任何值字段。 var count = 0; async.eachSeries(dataSources, function (source, nextSource) { count++; console.log(count, source.dataStreamId); console.log('——————————————————————————————————————————'); fitness.users.dataSources.datasets.get({ dataSourceId: encodeURI(source.dataStreamId), datasetId: new Date('2016-01-01').getTime() + '-' + new Date().getTime(), userId: "me" }, function (err, data) { if (err) { console.log(err); return nextSource(err); } console.log("Data Set"); console.log(data); nextSource(null); }); }, function nextSource(err) { if (err) { return nextTask(err); } […]

从REST API调用访问所有用户?

API调用只允许我一次只能获得1000个用户。 不过,我知道我有9800个用户。 我可以在URL中传入一个参数,在那里开始和最大的结果(限于1000)。 但是我需要把它们都拿走,不知道怎么去做。 我正在使用节点。 蓝鸟和请求NPM模块。 这是我的代码 /********************** MODULES/DEPENDENCIES **********************/ var express = require('express'); var request = require('request'); var Promise = require('bluebird'); var _ = require("lodash"); /********************** INITIATE APP **********************/ var app = express(); console.log("Starting node server…"); /** * @param url – The url to GET * HTTPS GET Request Function * @return Promise – […]

如何在Jsonwebtoken中忽略一些请求types

我想忽略一些使用令牌authentication进行检查的API URL 我想保护post,并把方法,但没有得到这个url 本地主机:3000 / API /事件/ router.use(function(request, response) { var token = request.body.token || request.query.token || request.headers['x-access-token']; if (token) { jwt.verify(token, app.get(superSecret), function(err, decoded) { if (err) return response.json({ sucess: false, message: "Failed token Authentication" }); else { request.decoded = decoded; next(); } }); } else { return response.status(403).send({ success: false, message: 'No token […]

我在邮递员的url中使用什么?

我是新来的宁静apis,试图学习他们。 我创build了一个mongo数据库,并在cloud9中使用它。 我的取得请求的作品: app.get('/api/movies/:moviename', function(request, response) { movies.find({Title: "avatar"}, {Title: 1, _id: 0}).toArray(function(err, results) { // in here you have a results variable [array] with your results response.write(JSON.stringify({data: results})); response.end(); }); // ends students find toArray }); // end app get handler 但是我的post不起作用。 我正在使用邮递员并input以下内容: 这是我的发布请求的服务器代码: app.post('api/movies/:moviename', function(request, response) { var movieName = request.params.moviename; response.writeHead(200, {"Content-type": […]

Angular2 – 在组件的OnInit方法中调用多个服务

如何在组件的OnInit()方法中进行两个服务调用? export class ApartmentComponent implements OnInit { public apartments: Object[]; public temp: Object[]; constructor(private apartmentService: ApartmentService) { this.apartmentService = apartmentService; } ngOnInit() { this.apartmentService.getApartments().subscribe(res => this.apartments = res); this.apartmentService.getStats().subscribe(res => this.temp = res); console.log(JSON.stringify(this.temp)); } } 在service.ts getApartments() { return this.http.get('./api/businessunits/butype').map((res: Response) => res.json()); } getStats(){ console.log('Request reached'); return this.http.get('./api/apartments/getstats').map((res: Response) => res.json()); } 在server.ts(ExpressJS) […]

有没有人与decoupeld Magento与Node.js服务的前端体验?

我想知道是否有人试图使用Magento作为后端,并使用Node.js服务于前端。 它似乎更灵活,更实用的多层次。

使用rest api解决jira中的问题

我可以在JIRA中解决这个问题吗? 我用REST API做了一些试验, var url = "https://hibernate.atlassian.net/rest/api/2/issue/WEBSITE-1/transitions"; var message = [{ "update": { "comment": [ { "add": { "body": "some text for body" } } ] }, "fields": { "assignee": { "name": "name1" }, "resolution": { "name": "Fix" } }, "transition": { "id": "1" } }]; request({ url: url, method: "POST", json: true, body: message, […]