我开始使用 Djano 框架开发 REST API。以前,我专门使用 SpringBoot 与 Java 相关框架进行了广泛的合作。
如果我以基于 Java 的框架中的 REST API 为例,下面是我最常用的目录结构:
所以一些主要是关于MVC 设计模式的。同样在java中,每个类都写在一个新文件上,但是我一直在寻找的教程在一个文件中编写了多个类,这是关于Django的最佳实践吗?
我还看到在 Django 中我们创建了一个项目,然后在其中创建了一个应用程序。这些应用程序相当于java中的包吗?
此外,在 SpringBoot 和其他与 Java 相关的框架中,我们通常遵循自顶向下的方法,其中控制器接收一个调用,该调用进一步传递给所有业务逻辑所在的服务,然后服务进一步调用 CRUD 的 DAO(Repository) 和相应的结果从 DAO 传递到服务,返回到生成格式化响应的控制器。
我在 Django 中看到的所有逻辑都是写在为 CRUD 调用模型的视图上的。我们在这里不遵循 SOLID 原则吗?
如果我举一个图书馆管理系统的例子,人们将如何围绕 Django 框架设计它?
我是 Python 新手,从 Kafka 开始。我有一个需要发送和使用 json 消息的要求。为此,我使用kafka-python与 Kafka 进行通信。
#Producer.py
from kafka import KafkaProducer
import json
producer = KafkaProducer(bootstrap_servers='localhost:9092',value_serializer=lambda v: json.dumps(v).encode('utf-8'))
producer.send('offering_new', {"dataObjectID": "test1"})
#Consumer.py
import json
from kafka import KafkaConsumer
consumer = KafkaConsumer(bootstrap_servers='localhost:9092',auto_offset_reset='earliest', value_deserializer=lambda m: json.loads(m.decode('utf-8')))
consumer.subscribe(['offering_new'])
for message in consumer :
print(message)
Run Code Online (Sandbox Code Playgroud)
但是,我在消费者上遇到以下异常:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/paras/.local/lib/python3.6/site-packages/kafka/consumer/group.py", line 1111, in __next__
return next(self._iterator)
File "/home/paras/.local/lib/python3.6/site-packages/kafka/consumer/group.py", line 1082, in _message_generator
for msg in self._fetcher:
File "/home/paras/.local/lib/python3.6/site-packages/kafka/consumer/fetcher.py", line 482, …Run Code Online (Sandbox Code Playgroud) 如何在 Spring Webflux 中获取引用网址?我尝试查看ServerWebExchange exchange对象中的标头属性,但找不到相同的属性。有人可以帮我吗?
我正在尝试使用JWT令牌来保护REST API.为了保存编码的用户密码,我正在尝试使用bcrypt进行编码.但是,当我尝试自动装配BCryptPasswordEncoder时,我收到以下错误:
Could not autowire. No beans of BCryptPasswordEncoder type found. Check autowiring problems in bean class.
Run Code Online (Sandbox Code Playgroud)
这就是我的控制器的样子:
package com.starter.springsecurity.demo.controller;
import com.starter.springsecurity.demo.domain.User;
import com.starter.springsecurity.demo.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserRepository userRepository;
private BCryptPasswordEncoder bCryptPasswordEncoder;
public UserController(BCryptPasswordEncoder bCryptPasswordEncoder){
this.bCryptPasswordEncoder = bCryptPasswordEncoder;
}
@RequestMapping("/register")
public void register(@RequestBody User user){
}
}
Run Code Online (Sandbox Code Playgroud)
这是我正在关注的博客:https: //dzone.com/articles/implementing-jwt-authentication-on-spring-boot-api
Pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.starter.springsecurity</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> …Run Code Online (Sandbox Code Playgroud) 我对 Python 相当陌生,刚刚开始使用 Kafka。我正在使用名为python-kafka 的库与 Kafka 进行通信。现在我有一个要求,我需要动态创建主题,但是如果它确实存在,我不需要创建它。
通过阅读文档,我发现我可以使用KafkaAdminClient创建和删除主题,但是我没有找到任何方法来检查主题是否存在。
我刚开始使用 Kafka 并且对 Python 相当陌生。我正在使用这个名为的库kafka-python与我的 Kafka 代理进行通信。现在我需要从我的代码动态创建一个主题,从文档中我看到的是我可以调用create_topics()方法来这样做,但是我不确定,我将如何获得此类的实例。我无法从文档中理解这一点。
有人可以帮我弄这个吗?
我的本地系统中运行着一个卡夫卡代理。为了使用我的基于 Django 的 Web 应用程序与损坏的设备进行通信,我使用confluence-kafka包装器。然而,通过浏览 admin api,我找不到任何用于列出 kafka 主题的 api。(主题是务实创建的并且是动态的)。
有什么办法可以在我的程序中列出它们吗?要求是,如果我的工作人员重新启动所有分配的监听这些主题的消费者,则必须重新初始化,因此我想循环到所有主题并为每个主题分配一个消费者。
我有一个作为 REST API 公开的 Quarkus 应用程序。我需要为该应用程序生成配置文件引导的优化本机映像。
我查看了 Quarkus 文档,但找不到太多内容。有人生成过相同的吗?
我在本地计算机上安装了 GraalVM Enterprise 版本。
要生成正常的本机映像,请使用以下命令:
./mvnw package -Dnative
我有一个包含以下架构的表:
public static final String PRIMARY_KEY = "_id";
public static final String TASK_NAME = "name";
public static final String TASK_DESCRIPTION = "description";
public static final String IS_TASK_COMPLETED = "is_completed";
public static final String IS_TASK_DELETED = "is_deleted";
public static final String TASK_START_DATE = "start_date";
public static final String TASK_START_TIME = "start_time";
public static final String ESTIMATED_TASK_END_DATE = "end_date";
public static final String TIMESTAMP = "timestamp";
Run Code Online (Sandbox Code Playgroud)
在一个片段中,我使用该insert()方法在表中插入一行.我知道这会返回rowId插入的行,但在这个帖子中我读到了
如果表包含INTEGER PRIMARY KEY类型的列,则该列将成为ROWID的别名.然后,您可以使用四个不同的名称中的任何一个来访问ROWID,上面描述的原始三个名称或给予INTEGER PRIMARY KEY列的名称.所有这些名称都是彼此的别名,并且在任何情况下都能同样有效.
返回的rowId也将与主键相同.但是如果删除一行并且在那种情况下插入另一行,rowId那么该primary …
我有一个基于 Rails 5 的 JSON API。我有一种方法可以提供一个特定公司的所有产品列表,我想对其进行分页,这样就不会一次显示所有数据。为此,我遇到了两个宝石,即will_paginate和api-pagination。运行bundle install并重新启动服务器后,我仍然收到以下错误:
NoMethodError (undefined method `paginate' for #<Api::V1::ProductsController:0x007fb25404db30>)
Run Code Online (Sandbox Code Playgroud)
产品控制器:
require 'roo'
class Api::V1::ProductsController < ApplicationController
respond_to :json
def index
comp_id = params[:company_id]
cat_id = params[:category_id]
if comp_id
if comp_id && cat_id
product = Product.where(:company_id => comp_id, :category_id => cat_id)
else
product = Product.where(:company_id => comp_id)
end
paginate json: product, status: 200
else
render json: { errors: "Company ID is NULL" }, status: 422
end
end
end
Run Code Online (Sandbox Code Playgroud)
Gemfile.rb
source 'https://rubygems.org' …Run Code Online (Sandbox Code Playgroud) apache-kafka ×4
python ×4
kafka-python ×3
python-3.x ×3
django ×2
java ×2
android ×1
database ×1
graalvm ×1
json ×1
kafka-topic ×1
pagination ×1
quarkus ×1
spring ×1
spring-boot ×1
spring5 ×1
sqlite ×1