我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应用程序中,资源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
我正在设计POST Restful API,在这种情况下,我必须根据请求正文中提供的元素之一来授权用户。例如。
{
division : "1",
name : "MyName",
address:{
no : 123,
street : "abc",
pincode : 222111
}
....
}
Run Code Online (Sandbox Code Playgroud)
因此,发出POST请求的用户应被授权在部门1上工作。我无法在没有请求正文的情况下授权该用户。
同样,为了验证某些属性,我必须在数据库中进行大量的数据库调用,例如,检查上述地址是否具有有效的密码。
所以我的问题是我应该如何将错误代码返回给用户-
基本上哪个错误代码可以继续执行其他操作?
也可以做类似的事情:
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 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
有什么建议可能有什么问题吗?
我有一个接口名称类型
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,这样即使对于常见的枚举值,映射键也是唯一的?
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)
我确定我的文件在那里,但我的警报没有弹出.请帮忙