草庐IT

rest-high-level-client

全部标签

java - RESTful 服务能否根据请求 header 为同一资源同时返回 JSON 和 XML?

我有一个简单的RESTful方法,它当前返回一个对象的JSON表示。我的问题更多是从架构的角度出发,而不是完全技术性的。RESTful服务是否应该以同时返回JSON和XML的方式设计?据我所知,这是一种不好的做法,应该为此定义单独的资源。一种资源应返回JSON数据,另一种应返回XML。我的想法正确吗? 最佳答案 同一资源可能会根据请求返回XML或JSON,但不应同时返回两者。您将知道根据请求返回哪一个,因此无需生成两者-只需生成您要返回的那个即可。您可以通过以下方式来决定返回哪个。按顺序计算,当您确定要返回的格式时停止:如果已将扩展

c# - 使用泛型类型和继承时在 REST API 上序列化 XML 时出错

当我将使用泛型类型的返回对象序列化为XML时,我的RESTAPI出现错误。使用JSON时不会重现此错误。这是一个演示我的问题的简化示例:usingSystem;usingSystem.Net;usingSystem.Net.Http;usingSystem.Runtime.Serialization;usingSystem.Threading.Tasks;usingSystem.Web.Http;namespaceAreas.API{publicabstractclassAnimalController:ApiControllerwhereTProperties:new(){prote

xml - WCF 4.0 Rest 服务设置内容类型

我刚刚完成我的第一个WCF4.0Rest服务,但不明白为什么返回数据的内容类型在通过Fiddler和Firefox调用服务之间会发生变化。这是我的服务契约(Contract):[ServiceContract]publicinterfaceIProjectService{[OperationContract][WebGet(UriTemplate="project/{id}/json",BodyStyle=WebMessageBodyStyle.Bare,ResponseFormat=WebMessageFormat.Json)]ProjectDataContractGetProjec

c# - 400 错误请求将 xml 负载发送到 WCF REST 服务

我知道有一些帖子询问400错误,我相信我已经阅读了所有这些帖子,但我认为我面临的问题是不同的。这是我的WCF服务契约(Contract)[WebInvoke(UriTemplate="/cust_key/{key}/prod_id/{id}",Method="POST",BodyStyle=WebMessageBodyStyle.Bare,RequestFormat=WebMessageFormat.Xml,ResponseFormat=WebMessageFormat.Xml)]StreamGetData(stringkey,stringid,stringdata);这是我用来将请求

c# - 使用 Rest Sharp 反序列化本地 xml 文件

使用以下代码将xml反序列化到我的类中没有问题。我想知道是否可以在本地文件上使用相同的代码,因为我们的源文件保存在本地用于存档目的,并且偶尔会重新处理。这适用于远程xml但不适用于本地xml:RestRequestrequest=newRestRequest();varclient=newRestClient();//doesntworkclient.BaseUrl=directory;request.Resource=file;//worksclient.BaseUrl=baseURL;request.Resource=url2;IRestResponseresponse=clien

java - 在 RESTful Web 服务中使用多个资源

在我的web服务器应用程序中,我有一个方法,它修改了一个xml文档,看起来类似于:@POST@Path("somePath")@Consumes({"application/xml","application/zip"})publicResponsemodifyXml(){//someprocessing}消耗的zip压缩包包含需要修改的xml文件和一些其他文件。如何区分消耗的xml文件和方法内的存档以及我应该使用哪种方法参数来表示这种消耗的资源? 最佳答案 一种解决方案是只从InputStream中读取。您可以将InputStre

java - Jersey Rest 上的 "com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes"错误

这个问题在这里已经有了答案:TheResourceConfiginstancedoesnotcontainanyrootresourceclasses(25个答案)关闭4年前。我知道这个问题以前在这个网站上出现过,但我已经从这些页面上听取了建议,但还没有解决这个问题。尝试使用Jersey运行RestWeb服务时,我遇到以下错误消息:-异常javax.servlet.ServletException:Servlet.init()forservletJerseyRESTServicethrewexceptionorg.apache.catalina.authenticator.Authen

c# - WCF REST 网络服务 : getting request data when the content is not xml valid

我有一个WCFREST网络服务操作,它使用包含来自PHP网站的模式固定XML内容的POST请求调用。Web服务跟踪上有滚动文件日志,以跟踪处理请求时的任何错误。有时无法处理传入消息,因为POST请求中的xml无效(例如缺少结束元素)。为了解该问题,我希望在我的日志中将来自请求的源XML作为原始字符串查看。我确实尝试过实现一个IDispatchMessageInspector,但每当我尝试访问请求正文时,我都会(正确地)得到一个XmlException。在System.ServiceModel.MessageLogging上添加监听器对于这种情况也不起作用。有什么办法可以实现吗?

java - 在 REST 服务中调用 SOAP 服务

我想使用ReSTLet框架为REST服务编写代码,该框架使用一些XML数据包装第三方SOAP服务。因此,每当我使用一些XML数据调用REST服务时,REST服务在内部使用我提供的XML数据调用第三方SOAP服务,响应从第三方SOAPAPI传输到RESTAPI,再从RESTAPI传输到我。我已经完成了这些问题;CallingaSOAPserviceusingRESTserviceCallingSOAPinJersey但它对我帮助不大,所以如果有人能提供我可以获得帮助的链接或教程,那就太好了。谢谢。 最佳答案 如果您想手动实现,我认为以

java - logback.xml : overriding root level for one class only

给定logback.xml中的以下根目录:定义以下日志记录规则:myclass中的日志级别不会是DEBUG,因为根级别是info。但我只想查看这个特定类中的调试日志。这是否可以在不更改根级别的情况下实现(这会导致应用从各处吐出调试日志)?编辑:我也试过这个:所以我的想法是将根设置为debug,这样一切都是DEBUG,但是将“com.myproject”下的所有内容都设置为info,这样日志级别实际上是INFO,但将MyClass设置为DEBUG。它没有用:( 最佳答案 “Root”级别不限制其他记录器的级别,它只是设置默认值。所以和