小编Vin*_*gla的帖子

类级别和方法级别的@Path配置

javax.ws.rs.Path在我的REST类中使用类来配置路径.它表现得很奇怪...我的配置是这样的......这不是实际的文件,但我已经展示了一个复制,让你了解我的配置.

1类

@Path("/v2")
public class BoxResource {        
   @POST
   @Path("/ie/box")
   public Response createbox(...) {
     ...
   }
}
Run Code Online (Sandbox Code Playgroud)

等级2

@Path("/v2/ie")
public class BagResource {        
    @POST
    @Path("/bag")
    public Response createbag(...) {
        ...
    }        
}
Run Code Online (Sandbox Code Playgroud)

当我发出类似的HTTP请求时/v2/ie/box,它会抛出服务器配置错误.但如果我改变我的Class2如下,它工作正常.

@Path("/v2/ie/bag")
public class BagResource {            
    @POST
    public Response createbag(...) {

    }
}
Run Code Online (Sandbox Code Playgroud)

为什么这样..在类级别和方法级别的@path配置是否有所不同?

rest web-services http jax-rs jersey

10
推荐指数
1
解决办法
6984
查看次数

REST API URL中的额外查询参数

在我的Rest应用程序中,资源url还支持查询参数,如pageSize,pageNum,name等.所以请求网址看起来像

/资源/ {ID}?页次= 1&的pageSize = 25&DESC = "你好"

现在假设一个客户端添加一个额外的查询参数,说'lang',我的服务器不支持

/ resource/{id}?pageNum = 1&pageSize = 25&desc ="hello"&lang ="eng",但我的服务器不支持任何lang参数.

什么应该是最好的设计决定

选项1:忽略额外的无效查询参数并提供请求.

选项2:向客户端抛出错误的请求消息.

感谢Advance Singla

java api rest web-services resteasy

6
推荐指数
2
解决办法
5391
查看次数

POST Restful API的响应代码400或403

我正在设计POST Restful API,在这种情况下,我必须根据请求正文中提供的元素之一来授权用户。例如。

{
division : "1",
name : "MyName",
address:{
no : 123,
street : "abc",
pincode : 222111
}
....
}
Run Code Online (Sandbox Code Playgroud)

因此,发出POST请求的用户应被授权在部门1上工作。我无法在没有请求正文的情况下授权该用户。

同样,为了验证某些属性,我必须在数据库中进行大量的数据库调用,例如,检查上述地址是否具有有效的密码。

所以我的问题是我应该如何将错误代码返回给用户-

  1. [EDIT]如果请求中的除法无效(系统中不存在的内容)-400或403吗?
  2. 如果提供了划分,但用户未被授权并且密码无效-400表示无效的密码或403?
  3. 如果密码是必填属性,但未在请求中提供,则错误代码应该是什么。我应该先检查403,然后再检查400还是反向?

基本上哪个错误代码可以继续执行其他操作?

也可以做类似的事情:

400 – request is bad, syntactically (division/pincode or other mandatory values not provided)
403 – authorize user
400 – request is bad, data specific validation (heavier operation, requiring to hit DB)
Run Code Online (Sandbox Code Playgroud)

[编辑]我们首选不要使用422错误代码

rest web-services

5
推荐指数
1
解决办法
7945
查看次数

@JsonProperty 不适用于内容类型:application/x-www-form-urlencoded

当 REST API 映射到 Java 对象时,它采用输入内容类型:application/x-www-form-urlencoded,例如

 public class MyRequest {

    @JsonProperty("my_name")
    private String myName;

    @JsonProperty("my_phone")
    private String myPhone;

    //Getters and Setters of myName and myPhone.

    }
Run Code Online (Sandbox Code Playgroud)

在表单输入请求中,我设置了 my_name 和 my_phone 的值,但 MyRequest 对象的 myName 和 myPhone 为 null。

我正在使用 Jackson-annotations 2.3 jar

有什么建议可能有什么问题吗?

java rest jackson spring-restcontroller

5
推荐指数
1
解决办法
8388
查看次数

如何为枚举类实现equals和hashcode

我有一个接口名称类型

public interface Types
{       
    public String getName();    
}
Run Code Online (Sandbox Code Playgroud)

两个枚举类正在扩展这个界面

public enum AlphaTypes implements Types
{
    Alpha("alpha"),Common("common")
    private String name;

    private AlphaTypes(String name)
    {
        this.name = name;
    }

    @Override
    public String getName()
    {
        return name;
    }   
}

public enum BetaTypes implements Types
{
    Beta("beta"),Common("common")
    private String name;

    private BetaTypes(String name)
    {
        this.name = name;
    }

    @Override
    public String getName()
    {
        return name;
    }   
}
Run Code Online (Sandbox Code Playgroud)

要求是有一个地图,类型为关键字 Map<Types,Object> map;

如何实现equals和hashcode,这样即使对于常见的枚举值,映射键也是唯一的?

java enums hashmap

3
推荐指数
1
解决办法
3927
查看次数

jQuery没有在我的HTML页面上工作

jQuery不能在我的HTML页面上运行.可能是一些代码/语法问题.需要从一双好眼睛看一下.

<head>
<script src="../common/js/jquery-1.9.0.js"/>
<script>
$(document).ready(function(){
  $("#insert").click(function(){
      alert("ok");
  });
 });
</script>
</head>

<body>
    <input type="submit" id="insert" value="Insert"/>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我确定我的文件在那里,但我的警报没有弹出.请帮忙

html javascript jquery

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