小编Dha*_*ana的帖子

如何忽略Jersey Rest中JSON对象的属性编辑

作为我的要求的一部分,我公开了一个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)

java rest

6
推荐指数
1
解决办法
3191
查看次数

Spring:访问applicationConfig.xml中的环境变量

我想将我的数据库凭据和其他秘密值设置为环境变量的一部分.有没有办法访问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)

spring

4
推荐指数
1
解决办法
8761
查看次数

基于方法参数的自动装配

我有各种协议,我的系统正在使用.我标记了一个接口并提供了适当的实现.例如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个变量.但这太多的代码使得难以管理.工厂可能是一个替代方案,但如何解决我的问题?

java spring

2
推荐指数
1
解决办法
1014
查看次数

用于 AWS Api 网关与 S3 即 AWS 服务集成的 SAM 模板

我正在编写 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}

amazon-web-services aws-api-gateway aws-sam

2
推荐指数
1
解决办法
2414
查看次数

为什么 SQS 消息写入和删除会给出错误的计数?

我编写了以下代码,将一些消息写入 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)

boto amazon-sqs amazon-web-services

0
推荐指数
1
解决办法
154
查看次数