this.named
должен быть this.dog.named
, поскольку свойство named
находится внутри объекта dog
.
Здесь:
let person = {
firstname: "Benjamin",
dog: {
named: "Louie",
owner: function() {
return this.dog.named + " is " + this.firstname + "'s dog'";
}
}
}
console.log(person.dog.owner.call(person));
В Python есть множество микросервисных фреймворков, которые значительно упростили бы код, который вы должны написать.
Попробуйте, например, pymacaron ( http://pymacaron.com/ ). Вот пример API-интерфейса helloworld, реализованного с помощью pymacaron: https://github.com/pymacaron/pymacaron-helloworld
Служба pymacaron требует от вас только: (1) написать Swagger спецификация для вашего API (который всегда является хорошей отправной точкой, независимо от того, какой язык вы используете). Ваш файл swagger описывает вызовы get / post / etc вашего API и какие объекты (json dicts) они получают и возвращают, а также какой метод python в вашем коде реализует конечную точку. (2) и реализовать методы ваших конечных точек.
Как только вы это сделаете, вы получите множество вещей бесплатно: вы можете упаковать свой код в докер-контейнер, развернуть его на amazon beanstalk, запустить асинхронные задачи из ваших вызовов API или получить документацию API без дополнительных затрат. Работа.
хорошо ... я смог решить эту проблему ... проблема в app.py, вы должны указать переменную port:
INCORRECT
app = connexion.App(__name__, 9090, specification_dir='swagger/')
CORRECT [ 114]
app = connexion.App(__name__, port=9090, specification_dir='swagger/')