Как я могу исправить эту ошибку? json.decoder.JSONDecodeError: Ожидаемое значение: строка 1 столбец 1 (char 0)
https://youtu.be/0iB5IPoTDts?t=4690
В настоящее время я пытаюсь понравиться продукту с моим микросервисом по запросу. Вот код из его видео: https://github.com/scalablescripts/python-microservices
Вот мой код:
from flask import Flask, jsonify
from flask_cors import CORS
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import UniqueConstraint
from dataclasses import dataclass
import requests
\#from markupsafe import escape
\#from jinja2 import escape
app = Flask(__name__)
app.config\["SQLALCHEMY_DATABASE_URI"\] = 'mysql://root:root@db/main'
CORS(app)
db = SQLAlchemy(app)
@dataclass
class Product(db.Model):
id: int
title: str
image: str
id = db.Column(db.Integer, primary_key=True, autoincrement=False)
title = db.Column(db.String(200))
image = db.Column(db.String(200))
@dataclass
class ProductUser(db.Model):
id = db.Column(db.Integer, primary_key=True)
user_id = db.Column(db.Integer)
product_id = db.Column(db.Integer)
UniqueConstraint('user_id', 'product_id', name='user_product_unique')
@app.route('/api/products')
def index():
return jsonify(Product.query.all())
@app.route('/api/products/\<int:id\>/like', methods=\['POST'\])
def like(id):
req = requests.get('http://host.docker.internal:8000/api/user')
return jsonify(req.json())
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0')
Вызывается пользователь API, который создает случайного пользователя, см. код:
from django.contrib import admin
from django.urls import path
from .views import ProductViewSet, UserAPIView
urlpatterns = [
path('products', ProductViewSet.as_view({
'get': 'list',
'post': 'create'
})),
path('products/<str:pk>', ProductViewSet.as_view({
'get': 'retrieve',
'put': 'update',
'delete': 'destroy'
})),
path('user', UserAPIView.as_view())
]
и вот класс, который будет выполнен:
class UserAPIView(APIView):
def get(self, _):
users = User.objects.all()
user = random.choice(users)
return Response({
'id': user.id
})
В терминале я получаю следующую ошибку:
Когда я тестирую API в Postman, я должен получить ID обратно (см. видео).
https://youtu.be/0iB5IPoTDts?t=4682