API stability index is important in API documentation, currently I am using Swashbuckle to document my API which is built with ASP.NET Web API, I want to ask is there a way to flag an API with API stability index such as "Stable", "Frozen" etc.
OpenAPI/Swagger does not have a field to indicate the API stability but you can use vendor extension to document it (e.g. x-api-stability-index).
Ref: https://github.com/domaindrivendev/Swashbuckle/blob/953f9803bdf4a5051dd4ad90f8a6bc0ad8b6af3b/Swashbuckle.Dummy.Core/SwaggerExtensions/ApplySchemaVendorExtensions.cs#L10
Related
Problem description
All the routes (URL(s)) for the API (including parameters to use) are accessible to unauthenticated users by calling this API AbpServiceProxies/GetAll which doesn't require any token and is not protected.
This opens the application for easy attacks.
Can you please tell me how to secure this API without affecting the normal functionality of the framework.
Abp package version: 7.4 (last version at the time of writing this issue).
Base framework: .Net Core.
Steps needed to reproduce the problem: Just call the API like https://ServerIP/AbpServiceProxies/GetAll
I expect to find a way to secure this API or if it was not possible, at least list only public APIs which has no [Authorize] attribute.
i am actually analyzing JIRA for my company regarding the functionalities and the different APIs. At the Atlassian Homepage i found two official provided APIs (JAVA API or JIRA REST API).
My further intentions are to program an interface between my stand-alone application and JIRA. The idea is for instance to control the user-management (add, delete, modify user, etc.), project-management (create project, delete, etc.) and other things from this application. Therefore i need a way to interact with JIRA.
Normally i would avoid the REST API and prefer the JAVA API, because other interfaces are even managed by the JAVA API, but i can't find any examples for connecting, adding or modifying workItems in JIRA. I have just found the java api documentation.
https://developer.atlassian.com/jiradev/jira-apis/java-api-policy-for-jira
Would you suggest only the JAVA REST API or are there any good examples for the JAVA API?
Thanks a lot!
It really depends on what you are trying to achieve. The Java API is mostly used to build Jira plugins, while the REST API is used when you want to integrate external applications.
In your case the normal choice would be the REST API.
I am exploring SurveyMonkey APIs for version 3.
I would like to know is there any Metadat API available to get the comprehensive request-response structure for all the endpoints available for SurveyMonkey?
I could not find any such details on the documentation :
https://developer.surveymonkey.com/api/v3/#getting-started
If no do you plan to support it in future.
Thanks
There is no current plan at SurveyMonkey to provide a Metadata API. What is your use case for such an API?
It may be added to the roadmap if there is enough value, but currently there is no plan.
The documentation on RelayJS says the RelayJS can use node.js as a GraphQL server, but not ASP.NET web service.
How can I use RelayJS with ASP.NET web api end point?
How can I use RelayJS with ASP.NET web api end point?
TL;DR;
By placing a GraphQL server in-between Relay client-side and ASP.NET web api end point.
The Getting Started page of Relay documentation clearly mentions that 2 additional things are needed to use Relay:
A GraphQL Schema: This is your data model. You need to map your ASP.NET web API to a GraphQL schema.
A GraphQL Server: Your client-side speaks to this server. In your case, this GraphQL server will talk to your ASP.NET web API.
A good example of this is GraphQL schema and server wrapping Star Wars API.
Some conecptual clarifications about your question
Relay is a specification. It's actually called GraphQL Relay Specification. It's not restricted to JavaScript. Check Awesome Relay to find the list of languages for which Relay libraries are already available.
It helps to think of Relay and GraphQL as 2 sides:
server-side consisting of GraphQL server, which speaks the schema. It can receive queries and mutation requests. How you prepare and provide the requested data depend on back-end logic. For example, you may have your own database, which you use directly to fetch / prepare the exposed data. Or you may use an external API to fetch / prepare data.
There are libraries in languages other than JavaScript to help you write GraphQL schema and server. Check Awesome GraphQL.
client-side using Relay library, which talks to a GraphQL server and fetches data as needed.
I was trying to use OpenUI5 with a .NET OData v4 Web API service. It looks like the client embeds the "Max OData Service Version" header with the HTTP request by default and my service doesn't like that. Additionally, documentation notes support for v2 experimental v3.
Does anyone know when support for v4 is expected?
Thanks so much!
There are people working on the v4 support, but don't expect it to be available in the next few months.
Currently a new version of the v2 model is being implemented that has performance optimizations and better batch support, after that one is finished I guess the v4 support will be an important part of the agenda.
OData V4 finaly just got released.
https://sapui5.netweaver.ondemand.com/sdk#docs/api/symbols/sap.ui.model.odata.v4.ODataModel.html
But keep in mind what Jens Ittel said:
[...] Due to its limited feature scope, we will not recommend to use
the first of these releases of the model implementation for productive
usage. [...]