仅在Postman中使用JSON数据时与API的连接问题

时间:2017-12-08 18:20:55

标签: json node.js postman

我正在尝试使用node.js / restify设置一个简单的登录API。下面的代码显示了一个简单的路由,其中​​只有一个console.log()语句,因为我只是想证明我可以获得连接。

var restify = require('restify');

var user = require('./user');
var reference = require('./reference');

var fs = require('fs');
var bodyParser = require('body-parser');
var _= require('lodash');

const server = restify.createServer();

server.use(bodyParser.json());
server.use(bodyParser.urlencoded({extended:false}));

server.use(restify.plugins.fullResponse())
server.use(restify.plugins.bodyParser());
server.use(restify.plugins.queryParser())           server.use(restify.plugins.authorizationParser())

var port = 8080;

server.post('/user/login', (req, res) => {

    console.log("---LOGIN ATTEMPT---");


  res.status(200);
  res.end();

});

使用Postman进行测试,我希望在控制台中收到一条声明,说明“登录ATTEMPT”。

邮差冻结了“正在加载”文本,并保持这样,直到它崩溃说'连接到localhost:8080 / user / login'时出错。这仅在发送JSON数据时发生,而不是在发送表单数据时发生,这是我发生混乱的地方。它表现得好像JSON数据发生了无限循环,但无法追踪它发生的位置。

1 个答案:

答案 0 :(得分:0)

因为您没有将任何数据发送回请求浏览器(在这种情况下是postman)尝试返回一些响应作为正文

例如使用import android.app.Activity; import android.content.Intent; import android.graphics.Canvas; import android.os.Bundle; import android.util.DisplayMetrics; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class AddStep extends Activity{ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.add_step); Intent i = getIntent(); final NewRecipe this_recipe = (NewRecipe) i.getParcelableExtra("curr_recipe"); Button finish = (Button) findViewById(R.id.AddStepButton); finish.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { EditText name = (EditText) findViewById(R.id.nameEditText); EditText hours = (EditText) findViewById(R.id.HoursEditText); EditText minutes = (EditText) findViewById(R.id.MinutesEditText); EditText seconds = (EditText) findViewById(R.id.SecondsEditText); this_recipe.AddStep((ConvertToSeconds(Integer.parseInt(hours.getText().toString()),Integer.parseInt(minutes.getText().toString()),Integer.parseInt(seconds.getText().toString()))),name.getText().toString()); Intent j = new Intent(AddStep.this, AddEditRecipe.class); j.putExtra("curr_recipe", this_recipe); Log.d("Number of Steps",Integer.toString(this_recipe.listOfSteps.size())); setResult(RESULT_OK,j); finish(); } }); } int ConvertToSeconds(int h, int m, int s){ int ans = 0; for(int i = 0; i<h;i++){ ans+=3600; } for(int i = 0; i<m;i++){ ans+=60; } for(int i = 0; i<s;i++){ ans++; } return ans; } }