小编gee*_*que的帖子

Spring Boot 控制器建议 - 如何返回 XML 而不是 JSON?

我有一个控制器建议类,但我似乎无法让它返回 XML,即使我使用了注释@RequestMapping。这是一个精简的示例。

@RestControllerAdvice
public class ControllerAdvice {    
    @ExceptionHandler(Exception.class)
    @RequestMapping(produces = MediaType.APPLICATION_XML_VALUE)
    public PriceAvailabilityResponse handleControllerErrorXML(final Exception e) {
        e.printStackTrace();
        System.out.println("Exception Handler functional");
    
        PriceAvailabilityResponse priceAvailabilityResponse = new PriceAvailabilityResponse();
        priceAvailabilityResponse.setStatusMessage("Server Error");
        priceAvailabilityResponse.setStatusCode(99);
        
        return priceAvailabilityResponse;
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意其余控制器如何@RequestMapping(produces = MediaType.APPLICATION_XML_VALUE)工作来控制响应的形成方式。

PriceAvailabilityResponse这是上述代码块中可能包含的内容的示例。

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@Getter
@Setter
public class PriceAvailabilityResponse {
    @JacksonXmlProperty(isAttribute = true, localName = "StatusCode")
    @JsonProperty(value = "StatusCode", required = false)
    private int statusCode = 0;

    @JacksonXmlProperty(isAttribute = true, localName = "StatusMessage")
    @JsonProperty(value = "StatusMessage", required = false) …
Run Code Online (Sandbox Code Playgroud)

xml spring json spring-boot controller-advice

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

Firebase Web v9 升级破坏了react-firebase-hooks“useCollectionData()”

我正在尝试将 React 项目中的一些 Firebase 代码更新为Firebase 最近发布的新模块化 Web v9 sdk 。正在升级的项目使用了react-firebase-hooks hook useCollectionData(),在更改为新的sdk后失败。当我尝试运行移植的代码时,我的控制台中出现 3 次以下错误输出。

index.esm.js:101 未捕获类型错误:v1.isEqual 不是函数

工作 web v8 代码的最小示例:

import firebase from 'firebase/app'
import 'firebase/firestore'
import { useCollectionData } from "react-firebase-hooks/firestore"


firebase.initializeApp({ //config here
})
const firestore = firebase.firestore();

function Foo() {
  const messagesRef = firestore.collection('messages')
  const query = messagesRef.orderBy('createdAt').limit(25)
  const [messages] = useCollectionData(query, { idField: 'id' })

  return (<> {messages} </>)
}
Run Code Online (Sandbox Code Playgroud)

我尝试移植到 v9 导致错误:

import { initializeApp } from "firebase/app"
import { …
Run Code Online (Sandbox Code Playgroud)

javascript firebase reactjs google-cloud-firestore

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

如何使用币安 API,通过代码简单的获取价格

我只想从响应中得到一对。而且我真的不明白我应该如何传递我的参数。

说明说:

符号价格行情

得到 /api/v3/ticker/price

一个或多个符号的最新价格。

权重:单个符号为 1;2 省略符号参数时

参数:

名称 类型 必填 说明

符号 STRING NO -

如果未发送交易品种,则所有交易品种的价格将在数组中返回。”

我能够获得响应正文中的所有符号,但无法获得一个。我已经尝试过(在 Postman 中)这些端点:

  1. https://api.binance.com/api/v3/ticker/price/btcusdt
  2. https://api.binance.com/api/v3/ticker/price/symbol=btcusdt
  3. https://api.binance.com/api/v3/ticker/price/?symbol=btcusdt

这是整个 API 的链接: https://github.com/binance/binance-spot-api-docs/blob/master/rest-api.md#24hr-ticker-price-change-statistics

那么,哪个端点是正确的?邮递员结果

java api binance

3
推荐指数
2
解决办法
2万
查看次数

Java swing:理解向JLabel添加图像的麻烦

我希望每个人在这美好的一天都做得很好.

我正在学习摇摆,我对如何引用图像感到困惑.我知道我应该使用JLabel,然后使用this.add();将该JLabel添加到Frame中,但是在这里查看oracle文档:

https://docs.oracle.com/javase/6/docs/api/javax/swing/ImageIcon.html

目前还不清楚如何在不给出整个路径的情况下引用文件

C:\ Users \用户SomeUser是否\ Eclipse的工作空间\ andSoOn.png

而我不能那样做.一旦完成,我必须将我的工作发送给我的老师,并且代码不会像在我的系统上那样引用文件.我尝试了几件事,最后我在eclipse的src中创建了一个名为ImageAssets的新文件夹,并将文件移到那里,但似乎没什么用.这是它的样子

我添加了一个名为ImageAssets的文件夹

这是我尝试从包中显示图像的示例.

import java.awt.*;
import javax.swing.*;

public class Hangman extends JFrame
{
        JButton playGameButton,
                OptionsButton;
        private ImageIcon hangman7;
        private JLabel mainLabel;

        public static void main(String[] args) 
        {
            new Hangman();
        }

        public Hangman()
        {
            this.setSize(1000,800);
            this.setLocationRelativeTo(null);
            this.setVisible(true);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            this.setTitle("Hangman");
            this.setResizable(false);
            playGameButton = new JButton("Start Game");
            OptionsButton = new JButton("Options");

            //hangman7 = new ImageIcon(getClass().getResource("Images\\ hangman7.png"));//just an attempt at something
            mainLabel = new JLabel();
            mainLabel.setIcon(new ImageIcon("hangman7.png"));


            JPanel somePanel = new JPanel();
            somePanel.setLayout(new BorderLayout());
            somePanel.add(playGameButton, …
Run Code Online (Sandbox Code Playgroud)

java eclipse swing embedded-resource

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

JavaFX:如何禁用 TableView 中的 ScrollBars

我有一个 JavaFX TableView,我希望表行为TableView在父节点大小调整得太小而无法显示数据时截断图像,而不是使其变得可滚动。为了澄清,我只是希望滚动条被禁用或不可见,这样它们就不会显示。

下面是我在 SceneBuilder 中的节点层次结构,以防有帮助。

在此输入图像描述

我在下面尝试过的事情

我读了这篇文章,但答案只是使单元格调整大小以适应宽度,而不是禁用ScrollBar. 我在这里ScrollBar阅读了有关s的文档,但找不到 a或属性。我也阅读了这里的文档,但没有运气。visibleenabledTableView

我在这里搜索了JavaFX CSS指南,发现下面有两个策略可以引用滚动窗格。

-fx-hbar-policy:
-fx-vbar-policy:
Run Code Online (Sandbox Code Playgroud)

但将 包裹TableView在 a 中ScrollPane并没有按预期工作。它不允许我“适应父母”。我想引用这些属性,但TableView如果可能的话,可以直接引用。非常感谢任何建议。

css java javafx tableview

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

Spring引导验证CGLIB增强控制器组件未自动装配

我已经使用 Rest 控制器创建了一个 Spring Boot 应用程序(用户 spring-boot-starter-parent V.2.2.2.RELEASE),工作正常,现在我添加了一个依赖项:

    <dependency> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-starter-validation</artifactId> 
    </dependency> 
Run Code Online (Sandbox Code Playgroud)

并在我的控制器类上添加了@Validated,以便验证其中的所有方法:

@RestController
@Validated 
public class UserController {
  @Autowired
  private UserService userService;

  @PostConstruct
  public void init() {
    System.out.println("test");
  }
}
Run Code Online (Sandbox Code Playgroud)

现在,控制器方法在调用时开始抛出 NullPointerExceptions,因为 userService 为 null;我做了一个@PostConstruct 作为测试。显然,它是在一个正常的未增强的 bean 上调用的,该 bean 的字段已正确自动连接。但是,当通过 HTTP 调用控制器时,不会调用这个未增强的 bean,但它是类 UserController$$EnhancerBySpringCGLIB$$ 的 bean,并且它的 userController 未自动装配。我真的不知道为什么,因为这应该很简单,据我所知,没有太多需要配置的。所以我猜由于某种原因,spring 不会将依赖项注入到 CGLIB 增强类中,或者只是将其注入到错误的类中。当我删除@Validated时,一切都再次正常工作,但当然没有验证。

hibernate-validator cglib nhibernate-validator spring-boot

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