作为我的要求的一部分,我公开了一个Web服务,它将Employee类作为JSON格式的输入.员工类如下.如果您看到类中有3个属性,如status,password,creationTime.现在我试图阻止用户提供status和creationTime等属性.我的意思是说我不想让用户输入JSON: -
{
"emp_id": "xyz@gmail.com",
"credentials" : {"password": "xxxxx"},
"status": "ACTIVE",
"creationTime": "<UTC time>"
}
Run Code Online (Sandbox Code Playgroud)
输入status和creationTime时,应该会产生400错误消息.同样,当我向用户显示结果时,return Response.status(Status.ACCEPTED).entity(employee).build();它不应显示creationTime或凭据.它应该看起来像: -
{
"emp_id": "xyz@gmail.com",
"status": "ACTIVE",
}
Run Code Online (Sandbox Code Playgroud)
我可以看到有一个@JsonIgnore属性在我的情况下不适用于状态.我试过杰克逊.
我的员工类如下:
import java.util.Date;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import org.codehaus.jackson.annotate.JsonIgnore;
import org.codehaus.jackson.annotate.JsonProperty;
@XmlRootElement
public class Employee {
@XmlElement(name = "emp_id", required = true)
@JsonProperty("emp_id")
private String empId;
private Credentials credentials;
private String status;
private Date creationTime;
public String getEmpId() {
return empId;
}
public void setEmpId(String empId) {
this.empId = empId;
}
public Credentials …Run Code Online (Sandbox Code Playgroud) 我想将我的数据库凭据和其他秘密值设置为环境变量的一部分.有没有办法访问applicationConfig.xml中的环境变量
我试过了<property name="username" value="#{systemEnvironment['db_username']}" />.但是这没用.我错过了什么吗?
许多人告诉我如何从属性文件中访问值.我需要直接访问环境变量.
我的代码如下: -
<context:component-scan base-package="org.dhana.*" />
<context:annotation-config />
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url"
value="xxxx" />
<property name="username" value="${db_username}" />
<property name="password" value="xxxxx" />
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
Run Code Online (Sandbox Code Playgroud) 我有各种协议,我的系统正在使用.我标记了一个接口并提供了适当的实现.例如SSHprotocol,HttpProtocol两个工具Protocol.我将来可能会添加多个.现在我有一个课程如下: -
class Test {
@Autowired
private Protocol protocol;
public void getProtocol(String name) {
return protocol;
}
}
Run Code Online (Sandbox Code Playgroud)
本getProtocol应返回一个Protocol基于对象Protocol的名字.总之,我希望Spring根据name参数自动装配特定的bean.春天是否支持这个?我可以有多个@Autowired相应的限定符.但这可能会让我用相应的自动装配注释编写10-15个变量.但这太多的代码使得难以管理.工厂可能是一个替代方案,但如何解决我的问题?
我正在编写 SAM 模板,我想创建一个 API 网关,路径如下:-
http:///userFlights/airlines/static/images/{airlineName}。
这应该能够从 S3 存储桶下载文件。{airlineName} 的值可能类似于IndiGo.jpg。
我可以手动创建它。然而,问题是我无法找到 SAM 模板的适当文档。我需要使用 SAM 自动化我的 API 网关。
值如下:- 集成类型 - AWS 服务
AWS 区域- eu-west-3
AWS 服务 - 简单存储服务 (S3
HTTP 方法 - GET
路径覆盖 - Airlines/static/images/{airlineName}
我编写了以下代码,将一些消息写入 SQS 队列并立即删除它们。但是我在输出中看到每条消息都被立即删除。尽管如此,我看到消息计数非常随机。我的意思是它最初显示 1 然后它再次显示 2 尽管删除了一个。我已经将可见性超时设置为 50 秒,就像这篇文章中提到的那样。我作为程序的一部分尝试了相同的方法。
所以我怀疑删除消息是否会立即发生。如果是这样,这将如何影响线程数。请参阅下面的代码和输出。
__author__ = 'Dhanapathi.Marepalli'
import boto.sqs
conn = boto.sqs.connect_to_region("us-east-1", aws_access_key_id="********",
aws_secret_access_key="************")
my_queue = conn.get_queue('SMSQueue')
def write_messages():
print("Writing messages.")
for i in range(1, 5):
new_message = Message()
message_body = str(random.randint(1111111111, 9999999999))
print("Message body is ", message_body)
new_message.set_body(message_body)
my_queue.write(new_message)
print("Message with message body {0} is written.".format(message_body))
print("Messages completed. Totally {0} messages written to Queue.".format(my_queue.count()))
def retrieve_messages():
while True:
counter = 0
rs = my_queue.get_messages()
for message in rs:
counter = 1 …Run Code Online (Sandbox Code Playgroud)