小编Ank*_*rma的帖子

JAX-RS使用@consume注释支持所​​有媒体类型

我正在开发一个Web API,我想在其中添加对所有媒体类型的支持,因为功能要求.我也尝试过@consumes("*/(")在课堂级别和方法级别.但是当我尝试使用标题中的application/json媒体类型访问我的api时,它对我没有用Content-Type.

我已经看了@consumes注释的实现,其默认值为,*/*所以我尝试使用这个注释,因为@consumes它可以添加默认值,但是这样做并没有用.目前我已将此注释用作

@Consumes({"application/*","text/*"})
Run Code Online (Sandbox Code Playgroud)

它允许客户端使用这些媒体类型组中的任何一种媒体类型访问我的API.但是,如果客户端发送请求multipart/signed或任何其他媒体类型,它会搞砸.

java rest jax-rs jersey-2.0

6
推荐指数
0
解决办法
2075
查看次数

使用RAML处理Mule流中的多种安全方案的最佳方法是什么?

我正在使用RAML创建一个Web服务API。

我用两种安全方案创建了RAML

  • OAuth 2.0
  • 自订

我的第一种方法是根据请求参数处理授权,在该请求参数中,我在请求内发送了一个特殊参数,然后将授权任务委派给任一授权引擎。但这没有用,当向OAuth服务器发出请求时,它就抛出了Null Pointer Exception
然后我才知道针对不同授权方案的授权请求应具有不同的URI,例如,如果发出了针对oAuth的请求,则URI应该类似于/ api / oauth2 / authorize?parameters,而对于其他方案而言,oauth 1.0可以是/ api / oauth1 /授权参数

为了实现这一点,我添加了两个具有不同URI模式的APIkit路由器流。

在此处输入图片说明

所附图像中的第一个APIKit流用于自定义授权,第二个用于OAuth。从图中可以看出,在第二个流程中,我在APIkit路由器之前添加了OAuth验证器。

我想知道将OAuth验证器放在该位置是否正确,以便可以验证每个请求?还是应该将OAuth验证程序作为每个资源流的第一个元素,以便在发出请求后,OAuth可以验证对单个资源的请求。我还在OAuth的某处读到了内容,首先对请求进行身份验证,然后才允许访问受保护的资源,在这种情况下,我猜想我在APIKit路由器正确之前添加OAuth验证程序的方法。但是,我不确定这一点,并希望在整个场景中提供第二条建议。

谢谢。

api restful-authentication mule oauth-2.0 raml

5
推荐指数
0
解决办法
509
查看次数

标签 统计

api ×1

java ×1

jax-rs ×1

jersey-2.0 ×1

mule ×1

oauth-2.0 ×1

raml ×1

rest ×1

restful-authentication ×1