App Details:
Postman for Chrome
Version 5.0.1
win / x86-64
Chrome 58.0.3029.110
Issue Report:
- Did you encounter this recently, or has this bug always been there:
- Expected behaviour:
- Console logs (http://blog.getpostman.com/2014/01/27/enabling-chrome-developer-tools-inside-postman/ for the Chrome App, View->Toggle Dev Tools for the Mac app):
- Screenshots (if applicable)
I want to attempt a post. I get this error.
I get more information here:
An unhandled exception occurred while processing the request.
InvalidOperationException: ‘Microsoft.AspNetCore.Mvc.MvcOptions.InputFormatters’ must not be empty. At least one ‘Microsoft.AspNetCore.Mvc.Formatters.IInputFormatter’ is required to bind from the body.
Microsoft.AspNetCore.Mvc.ModelBinding.Binders.BodyModelBinderProvider.GetBinder(ModelBinderProviderContext context)
The C# code is
[Route(«api/property»)]
public class PropertyController : BaseSirController
{
[HttpPost(«{contractId}/saveproperty»)]
public IActionResult SaveProperty(int contractId, [FromBody] PropertyContractDto property)
{
…
I’m trying to set up a test where I make a POST request but getting a 500 Server Error (Response Body that I’m seeing is Unexpected ‘T’ [JSON]; Tests reporting «There was an error in evaluating the test script: SyntaxError: Unexpected token T in JSON at position 0») and so Tests should show Failed for all 5 of my tests. What can i do?
One of my tests isn’t even run it looks like:
tests[«Status code is 201 Created»] = responseCode.code === 201;
Thanks in advance for your help.
Tien.
asked Apr 11, 2017 at 23:23
2
You can check that HTTP code is not 500 with following:
tests["Status code is not 500"] = responseCode.code != 500;
Is this what you’re looking for?
answered Apr 12, 2017 at 13:15
grinderX19grinderX19
5425 silver badges12 bronze badges
3
Error 500 means either you are sending some invalid JSON in your request body or some issue with your server.
Could tell more by looking at the request and response body.
Do you have your test under any if condition? I don’t any reason why the test didn’t run except if you have any syntax error in test section.
answered Apr 12, 2017 at 7:20
Dinesh KumarDinesh Kumar
1,63414 silver badges22 bronze badges
2
- Remove From My Forums
-
Question
-
User-539691603 posted
I created a Post method and when i go to run this method on the Postman, it doesn’t work.
Controller:
[Route("api/[controller]")]
public class OptOutClientController : Controller
{
private IOptOutCreateService optOutCreateService;HttpClient httpClient = new HttpClient();public OptOutClientController(IOptOutCreateService optOutCreateService)
{
this.optOutCreateService = optOutCreateService;
}[HttpPost]
public async Task<IActionResult> OptOutPostClient([FromBody]OptOutRequest client)
{
if (client == null)
throw new OptOutException( "Favor informar os dados do OptOut!");var result = await optOutCreateService.Process(new OptOutCreateCommand(client.Cpf, client.Email, client.Telefone, client.Bandeira, client.Canal));return Ok(new ApiReturnItem<OptOutResult> { Item = result, Success = true });
}}How can i put a screenshot here? I’m not getting to do this.
Answers
-
User475983607 posted
pnet
I wrote this code(i’m writting). I’m starting to write this code, then i have nothing, only one controller and some class.
As I explained several time now.. Echo back the input to verify you’ve correctly formatted the request.
namespace CoreApi.Controllers { [Route("api/[controller]")] [ApiController] public class HomeController : Controller { [HttpPost] public int Postar([FromBody]int teste) { return teste; } } }PostMan Url: https://localhost:44394/api/Home
Body: 1
Note the body does NOT contain {«teste» : 1}.
-
Marked as answer by
Thursday, October 7, 2021 12:00 AM
-
Marked as answer by
-
User753101303 posted
pnet
Error 404: http://localhost:55522/api/optoutclient/optoutpostclient
As explained the url is wrong and should not include the action name. You shouldn’t have this any more now.
pnet
Error 500: http://localhost:55522/api/optoutclient
As explained it means you have a server side exception. If you still have this problem you should start from the exact exception message you have (client is likely null but it’s best to always start from an actual error message rather than trying to guess
from the code).-
Marked as answer by
Anonymous
Thursday, October 7, 2021 12:00 AM
-
Marked as answer by
Я создаю API, используя flask для сети
у меня уже есть база данных, и запрос GET работает, но когда я пытаюсь выполнить POST, он дает мне эту ошибку
500 INTERNAL SERVER ERROR
Это код, который я написал
#User_schema
class UserSchema(ma.Schema):
class Mata:
fields = ('id', 'name', 'Email', 'Pass', 'Phone', 'Department', 'Major')
#init_schema
user_schema = UserSchema()
users_schema = UserSchema(many=True)
#create user
@app.route('/user', methods=['POST'])
def add_User():
#id = request.json['id']
name = request.json['name']
Email = request.json['Email']
Pass = request.json['Pass']
#Phone = request.json['Phone']
Department = request.json['Department']
Major = request.json['Major']
new_user = User(name, Email, Pass, Department, Major)
db.session.add(new_user)
db.session.commit()
return user_schema.jsonify(new_user)
Это запрос, который я добавил на почту человека
{
"name": "User 1",
"Email": "User1@.com",
"Pass": "qq1",
"Phone": "0551",
"Department": "IT 1",
"Major": "IT 1"
}
Я также использую локальный сервер
я посмотрел на другие ссылки, и все просят журналы, и если я не ошибаюсь, я думаю, что я получаю их от
View > Developer > Show DevTools > Console
И это скриншот журнала: (я думаю)
В чем именно проблема я не понимаю
Обновлено: Вот полный код:
from flask import Flask, request, jsonify
from flask_sqlalchemy import SQLAlchemy
from flask_marshmallow import Marshmallow
import os
app = Flask(__name__)
basedir = os.path.abspath(os.path.dirname(__file__))
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///db.db'
app.config['SQLALCHEMY_TRACK_MODIFICATION'] = False
db = SQLAlchemy(app)
ma = Marshmallow(app)
class User (db.Model):
id = db.Column(db.Integer,primary_key=True)
name = db.Column(db.String(30))
Email = db.Column(db.String(30))
Pass = db.Column(db.String(30))
Phone = db.Column(db.Integer)
Department = db.Column(db.String(30))
Major = db.Column(db.String(30))
meeting = db.relationship('Meeting', backref='creator')
meetingroom = db.relationship('MeetingRoom', backref='reserver')
def _init_(self, name, Email, Pass, Phone, Department, Major):
self.name = name
self.Email = Email
self.Pass = Pass
self.Phone = Phone
self.Department = Department
self.Major = Major
class MeetingRoom (db.Model):
mrid = db.Column(db.Integer,primary_key=True)
reserver_id = db.Column(db.Integer, db.ForeignKey('user.id'))
#meetingm = db.relationship('Meeting', backref='roomno')
mid = db.Column(db.Integer, db.ForeignKey('meeting.Mid'))
class Meeting (db.Model):
Mid = db.Column(db.Integer,primary_key=True)
Mname = db.Column(db.String(100))
Des = db.Column(db.String(100))
Date = db.Column(db.String(20))
creator_id = db.Column(db.Integer, db.ForeignKey('user.id'))
meetingroomm = db.relationship('MeetingRoom', backref='mroom')
#roomno_id = db.Column(db.Integer, db.ForeignKey('meetingroom.mrid')
##json
@app.route('/users', methods=['GET'])
def getuser():
users = User.query.all()
output = []
for user in users:
user_data = {}
user_data['id'] = user.id
user_data['name'] = user.name
user_data['Email'] = user.Email
user_data['Pass'] = user.Pass
user_data['Phone'] = user.Phone
user_data['Department'] = user.Department
user_data['Major'] = user.Major
output.append(user_data)
return jsonify({'users' : output})
#User_schema
class UserSchema(ma.Schema):
class Mata:
fields = ('id', 'name', 'Email', 'Pass', 'Phone', 'Department', 'Major')
#init_schema
user_schema = UserSchema()
users_schema = UserSchema(many=True)
#create user
@app.route('/user', methods=['POST'])
def add_User():
#id = request.json['id']
name = request.json['name']
Email = request.json['Email']
Pass = request.json['Pass']
#Phone = request.json['Phone']
Department = request.json['Department']
Major = request.json['Major']
new_user = User(name, Email, Pass, Department, Major)
db.session.add(new_user)
db.session.commit()
return user_schema.jsonify(new_user)
#meeting_schema
class MeetingSchema(ma.Schema):
class Mata:
fields = ('Mid', 'Mname', 'Des', 'Date', 'creator_id')
#init_schema
meeting_schema = MeetingSchema()
meetings_schema = MeetingSchema(many=True)
#create meeting
@app.route('/meeting', methods=['POST'])
def add_meeting():
Mname = request.json['Mname']
Des = request.json['Des']
Date = request.json['Date']
new_meeting = Meeting(Mname, Des, Date)
db.session.add(new_meeting)
db.session.commit()
return user_schema.jsonify(new_meeting)
if __name__ == '__main__':
app.run(debug=True)
2-е Обновлено: журнал консоли
После добавления ошибки определения:
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) database is locked
[SQL: INSERT INTO user (name, "Email", "Pass", "Phone", "Department", "Major") VALUES (?, ?, ?, ?, ?, ?)]
[parameters: ('User 1', 'User1@.com', 'qq1', '0551', 'IT 1', 'IT 1')]
(Background on this error at: http://sqlalche.me/e/e3q8)

